我有以下表格,并尝试检索每个项目的名称、描述、库存、地址、邮政编码和城市,满足以下条件:item1的库存>10,item2的库存>10,item3的库存>5。因此,我不想要只包含item1和item2的行,例如ID = 2的行。ID = 1的行也不符合条件,因为item1的库存<10。这意味着只有ID为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、名称甚至是描述,但结果不正确。请问有人能帮我解决这个问题吗?谢谢!(对于丑陋的表格格式,我很抱歉)