我是SQL的新手,我有一个comlpex查询,它只选择每个cityId到每个cityId的最便宜的一行:
SELECT cityIdFrom, cityIdTo, MIN(fromToPrice) fromToPrice_min
FROM pricing
WHERE cityIdFrom IN (91, 94, 95, 99)
AND cityIdTo IN (91, 94, 95, 99)
GROUP BY cityIdFrom, cityIdTo
所以我们从91到94最便宜,最便宜从91到95等。如果只有列Bull IS 1时,如何将此查询修复为cityIdFrom 91的SELECT行。 例如,如果我们有:
cityIdFrom - cityIdTo - fromToPrice - Bull
91, 94, 3000, 0
91, 94, 5000, 1
91, 95, 1000, 0
91, 99, 1500, 1
99, 95, 2000, 0
我们的查询会给我们:
91, 94, 5000, 1
91, 99, 1500, 1
99, 95, 2000, 0
感谢您的帮助!
答案 0 :(得分:1)
我的查询中只有一行:
AND (CityIdFrom = 91 AND Bull = 1) OR CityIdFrom <> 91
非常感谢@ADyson,他帮了我很多!