-3

我正在学习 SQL,现在我想弄清楚一件事。

我有两张桌子

产品:

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

销售订单详情:

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

我的问题是 - 如何在第二个表格中显示产品名称而不是显示 ID?

谢谢你。

4

5 回答 5

2

你需要使用join

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

在这里您可以找到有关联接的更多信息。

于 2012-11-23T08:14:04.470 回答
0

试试这个,使用加入

select sod.salesorderid,p.productname,sod.quantity from salesorderdetail sod
inner join products p 
on p.productid=sod.productid
于 2012-11-23T08:13:56.170 回答
0

这将是

Select s.SalesOrderId, p.ProductName, s.Quantity from SalesOrderDetail s inner join Products p ON s.ProductID = p.ProductID
于 2012-11-23T08:15:49.687 回答
0

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

SELECT ProductName, ProductQuantity from Products NATURAL JOIN SalesOrderDetails;

或者

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

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;
于 2012-11-23T08:20:20.157 回答
-1

尝试这个:

SELECT SOD.SalesOrderID
  ,P.ProductName
  ,SOD.Quantity 
FROM SalesOrderDetail SOD 
 ,Products P
WHERE P.ProductID=SOD.Product ID
于 2012-11-23T08:23:45.830 回答