2012-11-23 79 views
-2

我正在學習SQL,現在我正試圖弄清楚一件事。SQL:顯示值而不是ID

我有兩個表

產品:

Product ID (PK) | ProductName 
1    | Apple 
2    | Pear 
3    | Orange 
4    | Banana 

的SalesOrderDetail:

SalesOrderID (PK) | Product ID | Quantity 
1     | 1   | 5 
2     | 3   | 4 
3     | 4   | 2 

我的問題是 - 我怎麼顯示在第二個表中的產品的名稱,而不是顯示的ID?

謝謝。

+6

這是最基本的連接,你嘗試過什麼嗎? –

+0

請在發佈問題之前查看[標籤信息](http://stackoverflow.com/tags/sql/info),搜索建議的參考資料和資源。 –

回答

0

試試這個,使用加入

select sod.salesorderid,p.productname,sod.quantity from salesorderdetail sod 
inner join products p 
on p.productid=sod.productid 
2

您需要使用join

select P.ProductName, S.SalesOrderID, S.Quantity 
from Products P 
join SalesOrderDetail S on S.Product_ID=P.Product_ID 

Here你可以找到關於連接的更多信息。

0

這將是

Select s.SalesOrderId, p.ProductName, s.Quantity from SalesOrderDetail s inner join Products p ON s.ProductID = p.ProductID 
0

對於這一點,您可以使用提供SQL自然連接。如果你正在使用MySQL,代碼可以是:

SELECT ProductName, ProductQuantity from Products NATURAL JOIN SalesOrderDetails; 

OR

你可以簡單地使用join操作:

SELECT ProductName,ProductQuantity from Products p INNER JOIN SalesOrderDetails sd ON p.ProductId = sd.ProductId; 

或者乾脆:

SELECT ProductName,ProductQuantity from Products p, SalesOrderDetails sd WHERE p.ProductId = sd.ProductId; 
-1

嘗試這樣的:

SELECT SOD.SalesOrderID 
    ,P.ProductName 
    ,SOD.Quantity 
FROM SalesOrderDetail SOD 
,Products P 
WHERE P.ProductID=SOD.Product ID 
+0

請使用ANSI連接('從連接b上...'),它們不太容易出錯。 –