[英]sql non aggregate pivot
我的查詢是:
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','')
+ QUOTENAME(OzellikAdi)
FROM (SELECT DISTINCT OzellikAdi FROM KategoriDuzYazilar where KategoriId=6864) AS Courses
print @ColumnName
SET @DynamicPivotQuery =
N'Select * from(select i.IlanId,iduz.Deger,OzellikAdi from Ilan i
join Kategori k on i.KategoriId=k.KategoriId
join KategoriDuzYazilar kduz on kduz.KategoriId=k.KategoriId
join IlanDuzYazilar iduz on iduz.IlanId=i.IlanId
where i.KategoriId=6864
)piv
PIVOT (MAX(Deger) for OzellikAdi in(' + @ColumnName + ')) AS PVTTable'
print @DynamicPivotQuery
EXEC sp_executesql @DynamicPivotQuery
OzellikAdi是Ilan的屬性,Deger是OzellikAdi的整數值以及不同表中的值
結果
IlanId Ada No Pafta No Parsel No
426 9 9 9
433 24 24 24
434 210 210 210
435 775 775 775
但是我不想匯總,我必須得到這個結果
IlanId Ada No Pafta No Parsel No 426 5 7 9 433 13 16 24 434 210 114 5 435 775 0 45
KategoriId是可變的
http://sqlfiddle.com/#!3/3d158/26
問題在於那個查詢
select i.IlanId,iduz.Deger,OzellikAdi from Ilan i
join Kategori k on i.KategoriId=k.KategoriId
join KategoriDuzYazilar kduz on kduz.KategoriId=k.KategoriId
join IlanDuzYazilar iduz on iduz.IlanId=i.IlanId
and kduz.Id=iduz.KATEGORIDUZYAZILARID
where i.KategoriId=6864
您忘記設置IlanDuzYazilar和KategoriDuzYazilar表之間的關系
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.