1
我使用MSSQL Server和我想INNER JOIN
和GROUP
從多個表中的數據。但我得到這個錯誤:內部聯接和集團多個表到一行
Column 'MyDB.dbo.USER.EmployeeID' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
假設我有表如下:
表Stock
StockID StockName
---------------------------
1 StockOne
2 StockTwo
表用戶
EmployeeID EmployeeName
---------------------------
A001 ABC
A002 ABCD
表徵用
RequisitionID RequestDetailsID RequestNumber EmployeeID
---------------------------------------------------------------
1 1 RN001 A001
2 2 RN001 A001
3 3 RN002 A002
4 4 RN003 A001
表REQUISITION_DETAILS
RequestDetailsID EmployeeID StockID
------------------------------------------
1 A001 1
2 A001 2
3 A002 1
4 A001 2
這是我SQL語法:
SELECT *
FROM [MyDB].[dbo].[USER] A
INNER JOIN
[MyDB].[dbo].[REQUISITION] B
ON
B.EmployeeID = A.EmployeeID
INNER JOIN
[MyDB].[dbo].[REQUISITION_DETAILS] C
ON
C.RequestDetailsID = B.RequestDetailsID
INNER JOIN [MyDB].[dbo].[STOCK] D
ON
D.StockID = C.StockID
WHERE EmployeeID = '$EpID'
GROUP BY B.RequestNumber
預期輸出
RequestNumber RequestDetailsID EmployeeID EmployeeName StockID
------------------------------------------------------------------------------
RN001 1, 2 A001 ABC 1, 2
RN002 3 A002 ABCD 1
RN003 4 A001 ABC 2
好吧,如果我需要EmployeeName和StockID嗎?什麼是作爲RequestDetailIds,'數字1,2 – 2014-12-02 04:13:11
@AthirahHazira'XML路徑( '')),1,2, '')的功能。 。 。 (1)你可以加入外部查詢中的'user'表; (2)此查詢具有庫存ID。 – 2014-12-02 04:13:54
反正,我試過你的查詢,並有一個錯誤,說'轉換失敗時varchar值','數據類型int' – 2014-12-02 04:19:14