我需要比較從目的地 A 到目的地 B 的發貨數量。有兩個表,1 和 2。表 1 有目的地 A 和目的地 B 列。表 2 有一個與 table1 上的 Destination A 和 Destination B 列相關的主鍵代碼。我的問題是我不確定如何將 table2 的主鍵中的特定值分配給“Destination A”,以及如何將 table2 的主鍵中的另一個特定值分配給“DestinationB”。
例如:
SELECT *
FROM table1
LEFT JOIN table 2
ON table1.destinationA = table2_primarykey
WHERE table2.destination = "Chicago"
這將向我顯示表 1 中具有與芝加哥市等效的目標鍵的所有行,這是我嘗試做的一半。另一半是將表 1 中的特定主鍵值設定到“目的地 B”。
SELECT *
FROM table1
LEFT JOIN table 2
ON table1.destinationA = table2_primarykey and table1.destinationB = table2_primarykey
WHERE table2.destination in ('Chicago','Seattle')
在上述查詢中,我試圖弄清楚從始發地芝加哥到目的地西雅圖的貨物數量。上面的加入條件對我不起作用,因為它只會顯示芝加哥到芝加哥和西雅圖到西雅圖。
有沒有辦法解決?
uj5u.com熱心網友回復:
嘗試使用 TABLE2 兩次,每次都與 TABLE1 中的相應目標列連接,并在 where 部分中選擇所需的目標。
SELECT * FROM TABLE1 A
JOIN TABLE2 B ON A.DestinationA = B.PrimaryKey
JOIN TABLE2 C ON A.DestinationB = C.PrimaryKey
WHERE B.Destination = 'Chicago' and C.Destination = 'Seattle'
此查詢將映射與 DestinationA 和 DestinationB 關聯的 Destination(來自 TABLE2),就好像它們來自不同的表一樣,并且在 WHERE 部分中選擇相應的目的地應該會給出所需的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/422589.html
標籤:
上一篇:數一數資料庫中的值改變了多少次?
