Join
加入兩個表
我使用以下程式碼創建了三個表:
CREATE TABLE Invoices ( invoiceID nvarchar(5) NOT NULL PRIMARY KEY, invoiceDate date, ); CREATE TABLE ContainsItems ( invoiceID nvarchar(5) REFERENCES Invoices(invoiceID), itemID nvarchar(5) REFERENCES Items(itemID), itemQuantity numeric(2, 0) ); CREATE TABLE Items ( itemID nvarchar(5) NOT NULL PRIMARY KEY, itemName nvarchar(20), unit nvarchar(20), pricePerUnit float );
對於給定的發票 (invoiceID),我如何查詢列表中的所有項目 (itemNames) 及其相應的單位價格,以及開票的單位數量 (itemQuantity)?
我整晚都在嘗試這個並且被難住了。
SELECT * FROM ContainsItems ci INNER JOIN Items i ON ci.itemID = i.itemID INNER JOIN Invoice iv ON ci.invoiceID = iv.invoiceID WHERE ci.invoiceID = @yourInvoiceID
您將要從
JOIN
語句中進行選擇。在這種情況下,一個INNER JOIN
.嘗試這樣的事情:
SELECT i.itemName, i.pricePerUnit, c.itemQuantity FROM Items AS i INNER JOIN ContainsItems ON i.itemID = c.itemID WHERE i.invoiceID = @yourInvoiceID
在連接中為表設置別名有助於防止衝突。