我有兩個表,按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