У меня есть таблица (JobLog), которая содержит данные о продуктах.Я хочу иметь возможность проверить, не были ли некоторые поля повторно отправлены и введены дважды, но, возможно, были обработаны ранее.
Мой код выглядит следующим образом:
SELECT A.ProductName, A.ProductCode, A.AmtHeld, A.Disposition
FROM
JobLog AS A
INNER JOIN (
SELECT ProductCode, AmtHeld
FROM JobLog GROUP BY ProductCode, AmtHeld
HAVING COUNT(*) > 1
) AS B
ON (A.ProductCode = B.ProductCode)
AND (A.AmtHeld = B.AmtHeld)
И выводит:
|ProductName | AmtHeld | ProductCode | Disposition|
|------------|---------|-------------|------------|
| chocolate | 123 | 500 | P |
|------------|---------|-------------|------------|
| chocolate | 123 | 500 | C |
|------------|---------|-------------|------------|
| vanilla | 355 | A30 | C |
|------------|---------|-------------|------------|
| vanilla | 355 | A30 | C |
|------------|---------|-------------|------------|
Есть ли способ иметь дополнительный параметр, в котором он будет выводить только строки, в которых Disposition = P является частью строки?Например, я хотел бы получить только два шоколадных продукта, так как один из них имеет расположение Р, но не два ванильных, поскольку у них обоих есть расположение С (нет Р).
|ProductName | AmtHeld | ProductCode | Disposition|
|------------|---------|-------------|------------|
| chocolate | 123 | 500 | P |
|------------|---------|-------------|------------|
| chocolate | 123 | 500 | C |
|------------|---------|-------------|------------|
Заранее спасибо!