我在SQL Server上有这个查询
;WITH tmpTbl AS
(SELECT Kit_Tbl.Kit_Number
,Kit_Tbl.Kit_Refrigerant
,CompType_Tbl.Component_Type
,Comp_List_Tbl.Component_Num
FROM Kit_Tbl
INNER JOIN Kit_Library
ON Kit_Library.Kit_Number = Kit_Tbl.Kit_Number
INNER JOIN CompType_Tbl
ON CompType_Tbl.Component_Type = Kit_Library.Component_Type
INNER JOIN Comp_List_Tbl
ON Comp_List_Tbl.Component_Type = CompType_Tbl.Component_Type)
select Kit_Number
, Kit_Refrigerant
, [Compressor]
, [Condensing Unit]
from
(
select Kit_Number, Component_Type, Component_Num, Kit_Refrigerant
from tmpTbl
) d
pivot
(
max(Component_Num)
for Component_Type in ([Compressor], [Condensing Unit])
) piv;
我尝试将其转换为MS Access查询,但我在转换语句中遇到了语法错误:
TRANSFORM MAX(Comp_List_Tbl.Component_Num) AS Comp_Num
SELECT Kit_Tbl.Kit_Number,
CompType_Tbl.Component_Type,MAX(Comp_List_Tbl.Component_Num)
FROM Comp_List_Tbl INNER JOIN (Kit_Tbl INNER JOIN (Kit_Library INNER JOIN
CompType_Tbl ON Kit_Library.Component_Type = CompType_Tbl.Component_Type) ON
Kit_Tbl.Kit_Number = Kit_Library.Kit_Number) ON (CompType_Tbl.Component_Type =
Comp_List_Tbl.Component_Type);
GROUP BY Kit_Tbl.Kit_Number
PIVOT IN CompType_Tbl.Component_Type
任何人都可以帮我吗?
答案 0 :(得分:1)
在你的最后一行:
PIVOT CompType_Tbl.Component_Type
不需要IN
。