【发布时间】:2012-01-28 05:45:25
【问题描述】:
我有两个按OrderID 分组的表。
类似:
Orders.OrderID
OrderDetails.OrderID
我正在尝试调用 OrderDetails 表中的列,但我需要在 Orders 表中使用它。
我需要调用JOIN 或INNER JOIN 或GROUP BY,我可以将OrderDetails 与Orders 表分组,OrderID 的匹配显示OrderDetails.ProductCode。由于这几乎没有意义,这是我当前的查询:
SELECT
Orders.OrderID, Orders.OrderDate, Orders.ShipLastName, Orders.ShipFirstName,
Orders.ShipCity, Orders.ShipState, Orders.Order_Comments, Orders.OrderNotes,
Orders.ShipPhoneNumber, Orders.ShipDate
FROM Orders
WHERE Orders.OrderStatus = 'Shipped'
AND Orders.ShipDate > DATEADD(Day, Datediff(Day,0, GetDate() -20), 0)
AND Orders.ShipDate < DATEADD(Day, Datediff(Day,0, GetDate() -13), 0)
基本上我想SELECT OrderDetails.ProductCode 但首先需要将它们按OrderID 分组,因为它们位于不同的表上。
谢谢
【问题讨论】:
-
ProductCode 是什么意思,但首先需要按 OrderID 对它们进行分组 .....这一点都不清楚。如果您有一个包含 5 个详细信息的
Order,并且它们指的是五个不同的ProductID值 - 您不能分组 - 这些是不同的、单独的值 - 您总是会得到多行! -
听起来你想连接细节并将它们作为(逗号分隔?)列表返回,在这种情况下你可以开始from here。
-
完美,我稍后再试试……
标签: sql sql-server sql-server-2005 join inner-join