SQL Server Pivot查询花费的时间太长
我在执行此查询时遇到问题SQL Server Pivot查询花费的时间太长,sql,sql-server,Sql,Sql Server,我在执行此查询时遇到问题 SELECT * FROM (SELECT A.ItemNo, A.EquipmentID, A.AssetAccountCode, A.Descrip, B.Condition, B.[Year], C.Brand, C.Model, C.TechnicalSpecs, D.[Type], D.Criticallity, D.[Status], (CONVERT(VA
SELECT
*
FROM
(SELECT
A.ItemNo, A.EquipmentID, A.AssetAccountCode, A.Descrip,
B.Condition, B.[Year],
C.Brand, C.Model, C.TechnicalSpecs,
D.[Type], D.Criticallity, D.[Status],
(CONVERT(VARCHAR(4), d.YearInstalled, 127)) AS Yearinstalled
FROM
tbl_Masterlist A
JOIN
tbl_Condition B ON A.EquipmentID = B.EquipmentID
JOIN
tbl_TechnicalSpecification C ON b.EquipmentID = c.EquipmentID
JOIN
tbl_Status D On c.EquipmentID = d.EquipmentID) src
PIVOT
(MAX(CONDITION) FOR YEAR IN ([2014], [2015], [2016])) piv
问题是输出不显示或执行时间太长(我尝试等待30分钟,但它仍在执行)
你知道为什么会这样吗?我该怎么办呢
我猜这是因为4个表的记录。每个表都有16000条记录,其中一些ID是空白的。如果您从tbl_主列表中添加where to
(201420152016)中的where year in(201420152016)
年份列应该分为三列。我的意思是,如果您只使用2014,2015年和2016年,但如果表中的日期范围是1960年到2016年,如果将where放在内部选择上,则可能会加快查询速度。如果您从tbl_主列表中添加where to,是否有帮助?where year in(201420152016)
year列应分为三列。我的意思是,如果数据透视列仅使用2014、2015和2016,但如果表中的日期范围为1960年至2016年,如果将where置于内部选择,则可能会加快查询速度。