查询查找“所有酒吧以相同的价格出售三种不同的啤酒?”
我的 table 是
销售(酒吧,啤酒,价格) - 酒吧 - 外键.. Bars(name,addr) - 名称主键。
我想到了类似的东西,但似乎不起作用......
Select A.bar As bar , B.bar as bar
From Sells AS A, Sells AS B
Where A.bar = B.bar and A.beer <> B.beer
Group By(A.beer)
Having Count(Distinct A.beer) >= 2
这是正确的 SQL 查询吗?
最佳答案
我会这样做:
Select A.bar
From Sells AS A
JOIN Sells AS B ON (A.bar = B.bar AND A.price = B.price
AND A.beer <> B.beer)
JOIN Sells AS C ON (A.bar = C.bar AND A.price = C.price
AND A.beer <> C.beer AND B.beer <> C.beer)
特别是在 MySQL 中,连接解决方案可能比 GROUP BY
更有效。
关于php - 查询查找以相同价格出售三种不同啤酒的所有酒吧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2760444/