
計算每個位置最昂貴的盒子。
但是一個位置具有不同的 id 但具有相同的位置名稱
SELECT s.Location, p.Value, p.Warehouse, s.Code
FROM Warehouses s JOIN
Boxes p
ON s.Code = p.Warehouse AND
p.Value >= (SELECT MAX(p2.Value)
FROM Boxes p2, Warehouses s2
WHERE p2.Warehouse = s.Code
);
我需要這個結果:
Location Value
Chicago 250
New York 180
Los Angeles 190
San Francisco 90
但我明白了
Location Value Warehouse_id Warehouse_id_box
Chicago 250 1 1
Chicago 175 2 2
New York 180 3 3
Los Angeles 190 4 4
San Francisco 90 5 5
uj5u.com熱心網友回復:
我認為應該這樣做。
SELECT w.Location, MAX(COALESCE(b.value,0)) AS "Most Expensive Box"
FROM Warehouses w
LEFT JOIN Boxes b ON w.Code = b.Warehouse
GROUP BY w.Location;
芝加哥是否有兩個不同的代碼并不重要。這僅僅意味著芝加哥有(至少)兩個倉庫。問題是按位置詢問最昂貴的盒子是什么。因此,在每個城市的所有倉庫中。問題不是按倉庫要求最貴。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/437055.html
標籤:sql
上一篇:如何使用PDOPHP計算SQLite3中受影響的行數?
下一篇:加入兩個表...沒有JOIN
