我創建了 2 個表第一個表“存盤”注意到 Id 是 PK
欄位名稱為(Id、Source、Qty、Destination)的第二個表“Transactions”還注意到 Id 是 PK
我的 SQL 陳述句沒有給我任何如下資訊
Select Storages.Name as 'From', Storages.Name as 'To'
from Storages,
Transactions
where Storages.Id = Transactions.Source
and Storages.Id = Transactions.Destination
即使結果不明顯,我也需要顯示結果

uj5u.com熱心網友回復:
您可以使用兩個獲得預期結果JOIN,一個在交易源上,一個在目標上:
SELECT s1.name AS source, s2.name AS destination
FROM transactions t
JOIN storages s1 ON s1.id = t.source
JOIN storages s2 ON s2.id = t.destination;
如果您不希望多次使用相同的源和目標組合,請使用DISTINCT僅顯示一次:
SELECT DISTINCT s1.name AS source, s2.name AS destination
FROM transactions t
JOIN storages s1 ON s1.id = t.source
JOIN storages s2 ON s2.id = t.destination;
請查看 SQL 教程或檔案是如何JOIN作業的,因為這是撰寫 SQL 查詢時最重要的事情之一。
最后一點:您的描述說您想將結果中的列命名為“From”和“To”。我建議避免這種情況,因為“FROM”是一個 SQL 關鍵字,所以不能只將它用作列名。因此,我將它們命名為“源”和“目的地”。如果你想使用“From”和“To”,你可以使用引號:
SELECT DISTINCT s1.name AS "From", s2.name AS "To"
FROM transactions t
JOIN storages s1 ON s1.id = t.source
JOIN storages s2 ON s2.id = t.destination;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/482555.html
