SQL:显示值而不是ID

时间:2012-11-23 08:09:43

标签: sql

我正在学习SQL,现在我正试图找出一件事。

我有两张桌子

产品:

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?

谢谢。

5 个答案:

答案 0 :(得分:2)

您需要使用join

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

Here您可以找到有关联接的更多信息。

答案 1 :(得分:0)

试试这个,使用join

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

答案 2 :(得分:0)

将是

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

答案 3 :(得分:0)

为此,您可以使用SQL中提供的自然连接。如果您使用的是MySQL,则代码可以是:

SELECT ProductName, ProductQuantity from Products NATURAL JOIN SalesOrderDetails;

OR

您可以简单地将连接操作用作:

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;

答案 4 :(得分:-1)

试试这个:

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