Nano Hash - криптовалюты, майнинг, программирование

SQL (Access) не возвращает правильные записи

Возникла проблема с этим:

Вернуть все записи rm, cp.date_registered которых НЕ зарегистрирован после 01.01.2013

Я работал над вариантами, чтобы попытаться выполнить работу:

 SELECT rm.fname, rm.lname, rm.dob, rm.dod, cp.date_registered
 FROM rm INNER JOIN cp ON rm.member_id = cp.member_id
 WHERE cp.date_registered <= #01/01/2013#
 AND NOT cp.date_registered  > #01/01/2013#
 AND rm.dod Is Null;

Так что в основном мне просто нужно несколько полей из записей rm, где дата регистрации не после 01/01/2013. Я думал, что это будет просто, но, видимо, мне нужна небольшая помощь.

Прямо сейчас этот код возвращает

  1. Все записи с датой регистрации ‹ 01.01.2013, даже если они зарегистрированы после даты. Мне нужно исключить эти записи.
  2. Несколько записей для каждого человека. Мне просто нужна 1 запись на человека, если критерии соблюдены, меня не волнуют даты.
14.04.2014

Ответы:


1

Я бы попробовал следующее:

SELECT DISTINCT rm.fname, rm.lname, rm.dob, rm.dod, cp.date_registered
FROM rm INNER JOIN cp ON rm.member_id = cp.member_id
WHERE cp.date_registered <= #01/01/2013#
AND rm.dod Is Null;

Использование DISTINCT должно получить одну запись (если я правильно понимаю ваши требования :))

14.04.2014
  • Спасибо, решил мою первую проблему. Я получаю только одну запись для каждого экземпляра критериев. Но он по-прежнему возвращает записи людей, которые зарегистрировались после 01.01.2013 (потому что они также регистрировались до этого). Сейчас я смотрю на ключевое слово НЕ СУЩЕСТВУЕТ и обновлю, если найду ответ. 14.04.2014
  • Является ли поле cp.date_registered датой регистрации. 14.04.2014
  • @ Дэн, похоже, ты уже ответил на свой вопрос :) Я неправильно понял твой вопрос в первый раз, но похоже, что ты нашел свой собственный ответ. 14.04.2014

  • 2

    Понятно. Это вернет записи из rm, у которых нет даты регистрации после 01.01.2013 на cp.

     SELECT rm.fname, rm.lname, rm.dob, rm.dod
     FROM rm
     WHERE rm.dod Is Null
     AND NOT EXISTS
        (SELECT cp.date_registered
        FROM cp
        WHERE rm.member_id = cp.member_id
        AND cp.date_registered >= #01/01/2013#);
    

    Кроме того, он будет возвращать только одну запись для каждого случая, нет необходимости в DISTINCT.

    16.04.2014
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..