У меня есть таблица customershipments
с записями клиентов. Столбцы Item
и OrderNumber
. Я хочу видеть полный набор, где Item
находится на более чем одном уникальном OrderNumber
.Не удается просмотреть полный набор: Self Join - Сравнить где Column1 = и Column2 <>
SELECT
distinct
cs.item
,cs.ordernumber
FROM
customershipments cs
JOIN
customershipments cs2
ON cs.item = cs2.item
AND cs.ordernumber <> cs2.ordernumber
WHERE
AND cs.cdate > NOW() - INTERVAL 1 WEEK
AND cs.isactive = 1
AND cs.item <>''
AND cs.hostcompany_id =19
ORDER BY
cs.item, cs.ordernumber
Это делает Идентифицировать items
, что я хочу, но возвращает только первый OrderNumber
, а не второй. ОЧЕНЬ не будет TWO OrderNumber
для item
, тогда он показывает мне ВСЕ случаи. Я не могу понять, почему. Как я уже сказал, это работает достаточно хорошо, чтобы указать записи (на основе элемента), которые мне нужно управлять, но это не показывает мне исчерпывающий список порядковых номеров.
Но мне нужно, где, где элемент имеет несколько порядковых номеров и порядковые номера, различны. – user3242558
@ пользователь3242558. , , Затем используйте 'count (distinct)' вместо 'count (*)'. –
Oh - geez. Да. Ты прав. И причина, по которой я не получил список, который, как я думал, должен был быть, состоял в том, что в результирующем наборе были только «элементы», а остальные комбинации, которые не отображались, были связаны с тем, что они не соответствовали условию интервала cdate. Мел, который до пятничного вечернего выгорания. Благодаря! Я не могу продвигать, но это помогло. – user3242558