MySQL中的表连接
我有两张桌子要加入 它们共享orderNumber主键 一个表名为“订单明细”,另一个表名为“订单” 我试图从“orderdetails”表中查询productCode、quantityOrdered、priceEach和orderLineNumber 从“订单”表中,我需要状态和客户编号 我遇到的问题是,我需要找到3条带有3个特定订单号的记录 我可以查询我需要的所有数据,但我不能做的是将其限制为3个特定的订单号。。。我卡住了 我贴了一个ERD的链接 任何帮助都会很好 这是我试过的代码MySQL中的表连接,mysql,Mysql,我有两张桌子要加入 它们共享orderNumber主键 一个表名为“订单明细”,另一个表名为“订单” 我试图从“orderdetails”表中查询productCode、quantityOrdered、priceEach和orderLineNumber 从“订单”表中,我需要状态和客户编号 我遇到的问题是,我需要找到3条带有3个特定订单号的记录 我可以查询我需要的所有数据,但我不能做的是将其限制为3个特定的订单号。。。我卡住了 我贴了一个ERD的链接 任何帮助都会很好 这是我试过的代码 SELE
SELECT orderNumber
, productCode
, quantityOrdered
, priceEach
, orderLineNumber
, orders.status
, customerNumber
from orderdetails
join orders
on orderdetails.orderNumber = orders.orderNumber
where orderNumber = (10330,10338,10194);
我一直得到一个订单号是不明确的错误
如果必须从多个选项中选择,则使用IN子句。您的查询如下所示:
SELECT OD.ORDERNUMBER
, OD.PRODUCTCODE
, OD.QUANTITYORDERED
, OD.PRICEEACH
, OD.ORDERLINENUMBER
, O.STATUS
, O.CUSTOMERNUMBER
FROM ORDERDETAILS OD
INNER JOIN ORDERS O ON OD.ORDERNUMBER = O.ORDERNUMBER
WHERE OD.ORDERNUMBER IN (10330,10338,10194);
始终限定所有列引用,而不仅仅是其中的一些。感谢您的帮助。我对SQL非常陌生,你所说的限定所有列引用是什么意思?在上面的查询中,status是我看到的一个正确限定列的示例。意思是orderDetails.productCode,orderDetails.priceEach…等等?我真的很感谢你的帮助,这对我来说太新鲜了,但我正在努力!!