【发布时间】:2014-12-12 03:35:47
【问题描述】:
我有一个家庭作业问题,我遇到了很多麻烦......我不期待答案,我真的很想学习它。有人可以帮我解决语法吗?
问题: 对于每个销售订单,按最长订单顺序显示订单发货所需的天数,然后按销售订单编号。显示销售订单号和发货天数。包括尚未发货的订单。
到目前为止我有:
SELECT SalesOrder.SalesOrderNumber,
DATEDIFF (d, MIN(SalesOrder.OrderDate), MAX(Shipment.ShipmentDate)) AS "DaysToShip"
FROM SalesOrder, Shipment
GROUP BY SalesOrder.SalesOrderNumber;
【问题讨论】:
-
您缺少连接条件。
-
您能详细说明一下吗?谢谢你的回答。
-
@JaseMcLeod 您需要包含将
SalesOrder中的行与Shipment中的行相关联的条件。类似于FROM SalesOrder JOIN Shipment ON SalesOrder.SalesOrderNumber = Shipment.SalesOrderNumber,但替换正确的相关列名。 -
DATEDIFF()不是普遍支持的,所以建议你为你的RDBMA添加标签——Access、SQL Server、MySQL 还是什么? -
Bad habits to kick : using old-style JOINs - 旧式 逗号分隔的表格列表 样式已替换为 ANSI 中的 proper ANSI
JOIN语法-92 SQL 标准(20 多年前),不鼓励使用它