У меня есть следующая таблица, и я пытаюсь получить все: имя, описание, акции, адрес, почтовый индекс и город.
где запас товара 1 > 10 И запас товара 2 > 10 И запас товара 3 > 5
поэтому мне не нужны строки, содержащие только item1 и item2, например строки с ID = 2.
Строки с ID = 1 также не подходят, потому что item1 его запас составляет ‹ 10.
Это означает, что совпадают только строки с идентификаторами 3 и 4. Но я не хочу видеть 6 рядов, мне достаточно двух! содержащий имя, описание, акции, адрес, почтовый индекс, город
| ID | NAME | DESCR | STOCK | ADDRESS | POSTALCODE | CITY |
| 1 | foo | item1 | 5 | addr1 | po1 | city1 |
| 1 | foo | item2 | 10 | addr1 | po1 | city1 |
| 1 | foo | item3 | 5 | addr1 | po1 | city1 |
| 2 | bar | item1 | 40 | addr2 | po1 | city1 |
| 2 | bar | item2 | 30 | addr2 | po1 | city1 |
| 3 | smth | item1 | 25 | addr3 | po3 | city1 |
| 3 | smth | item2 | 20 | addr3 | po3 | city1 |
| 3 | smth | item3 | 10 | addr3 | po3 | city1 |
| 4 | els | item1 | 45 | addr4 | po4 | city1 |
| 4 | els | item2 | 30 | addr4 | po4 | city1 |
| 4 | els | item3 | 10 | addr4 | po4 | city1 |
Я думаю, мне нужно что-то вроде:
SELECT name, descr, stock , address, postalcode, city
FROM table1
WHERE (descr like 'item1' AND stock >10)
OR (descr like 'item2' AND stock >10) OR (descr like 'item3' AND stock >5)
GROUP BY name, descr, stock , address, postalcode, city
HAVING COUNT(distinct(somethingIdidNotFigureOutYet)) > 2
Я пытался посчитать id, имя и даже описание, но это неправильно. Может ли кто-нибудь помочь мне с этим, пожалуйста. Благодарю вас! (и извините за уродливое форматирование таблицы)