我有两个表,按OrderID
分组。SQL Server 2005 INNER JOIN
喜欢的东西:
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个细节的'订单',并且这些订单指的是五个不同的'ProductID'值 - 你不能分组 - 这些都是不同的,单独的值 - 你总是会得到多行! – 2011-12-27 07:39:55
听起来就像你想连接细节并将它们作为(逗号分隔?)列表返回,在这种情况下,你可以从这里开始(http://stackoverflow.com/questions/451415/simulating-group-concat -mysql-function-in-ms-sql-server-2005“模拟MS SQL Server 2005中的group_concat MySQL函数?”)。 – 2011-12-27 12:32:05
完美,我会稍后再试... – henryaaron 2011-12-27 13:56:12