SQLITE ВЫБЕРИТЕ столбец целочисленного значения даты, ЕСЛИ все записи для этой даты имеют значение NULL в другом параметре - PullRequest
0 голосов
/ 02 августа 2011

Я, вероятно, подхожу к этому неправильно ...

У меня есть таблица с датой в виде INTEGER в формате yyyymmdd - с именем DateInteger У меня есть другое поле Methodкоторый NULL по умолчанию.Это поле обновляется различными запросами.Я хотел бы создать отчет, который иллюстрирует дни, когда ВСЕ поля Method равны NULL (Группировка / Упорядочение по DateInteger).

`SELECT DateInteger,COUNT(*) FROM Table WHERE Method IS NOT NULL GROUP BY DateInteger HAVING Count(*)=0 ORDER BY DateInteger ASC;` doesn't give any results, as the days which have only `NULL` values seem to be missed out...

Как сделать запрос включающим /посмотрите на эти дни?

TIA

1 Ответ

0 голосов
/ 02 августа 2011

I'd like to produce a report that illustrates the days where ALL the Method fields are NULL (Grouping/Ordering by DateInteger).

Это вернет отдельный набор значений поля даты, где значение столбца метода равно не null:

            select distinct yourDateField from yourTable 
           where method is not null

Если я вас понимаюэти значения полей даты выше являются теми, которые вы не хотите: вам нужно, чтобы все значения метода в каждой строке с заданной датой были нулевыми.Таким образом, значения поля даты, которые вы do хотите, не могут быть в указанном выше наборе.

          select T.yourDateField, NotWanted.Unwanted
          from yourTable as T
          left join
          (
            select distinct yourDateField as Unwanted from yourTable 
           where method is not null
          ) as NotWanted

          on T.yourDateField = NotWanted.Unwanted

          where NotWanted.Unwanted is null

РЕДАКТИРОВАТЬ: вы также можете попробовать это:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...