Вот мой запрос ... Я пытаюсь найти все BLNUMBERS, у которых есть более одного контейнера, где все состояния контейнера = ''. Почему это не сработает? В настоящее время я получаю BLNUMBERS, где все состояния контейнеров = '', а также некоторые, где статус <> ''. EDIT: Как я могу найти BLNUMBERS где некоторых контейнеров статус = „“ и некоторые из контейнера»статус <>„“Подсчитайте 'HAVING', где все записи имеют столбец = ''
SELECT
DISTINCT
BLNUMBER
#,CONTAINERNUMBER
,COUNT(CONTAINERNUMBER) AS COUNT
FROM
SHIPMENTS
WHERE
BLNUMBER <> ''
AND CDATE > NOW() - INTERVAL 1 MONTH
AND CDATE < NOW() - INTERVAL 7 DAY
AND CONTAINERNUMBER <> ''
AND CONTAINERNUMBER NOT LIKE '.AIR%'
AND CONTAINERNUMBER NOT LIKE 'AIR%'
AND CARRIER_ID <>8
AND STATUS = ''
GROUP BY
BLNUMBER
HAVING
COUNT > 1
«BLNUMBER» должен быть уникальным? если да, то почему вы делаете «SELECT DISTINCT»? Если нет, то просто наличие 'BLNUMBER' делает * not * гарантирует уникальную запись. – chiliNUT
Это не должно быть уникальным. В этой таблице может быть несколько «контейнеров» на «число». Уникальность - это идентификатор. (Я не проектировал эту таблицу) – user3242558
понял, поэтому, если вы только выбираете 'BLNUMBER' и' count' в вышеуказанном запросе, откуда вы знаете, есть ли у вас плохой статус, так как просто 'BLNUMBER' недостаточно для идентификации уникальной записи? – chiliNUT