我想从另一个表中添加新列,现在我有查询:
SELECT
Id
,Symbol
,Nazwa
,isnull([100000],0) AS [Magazyn 1]
,isnull([100005],0) AS [Magazyn 2]
,isnull([100006],0) AS [Magazyn 3]
,isnull([100000],0)+isnull([100005],0)+isnull([100006],0) Razem
FROM (
SELECT
ASO.id
,ASO.Symbol
,ASO.Nazwa
,STANY.IloscDostepna
,STANY.Magazyn_ID
FROM
ModelDanychContainer.Asortymenty ASO
LEFT JOIN ModelDanychContainer.StanyMagazynowe STANY ON STANY.Asortyment_ID
= ASO.ID) AS sc
PIVOT
(
SUM(IloscDostepna) FOR Magazyn_ID IN ([100000],[100005],[100006])
) AS pv
我想从表中添加列:
JOIN ModelDanychContainer.GrupyAsortymentu GRUPY ON GRUPY.ID = ASO.GRUPA_ID
当我尝试这样做时,我得到错误:
4104无法绑定多部分标识符GRUPY.NAZWA
8156对于' sc'
,多次指定NAZWA列8156为' pv'
多次指定NAZWA栏
SELECT
Id
,Symbol
,GRUPY.Nazwa
,Nazwa
,isnull([100000],0) AS [Magazyn 1]
,isnull([100005],0) AS [Magazyn 2]
,isnull([100006],0) AS [Magazyn 3]
,isnull([100000],0)+isnull([100005],0)+isnull([100006],0) Razem
FROM (
SELECT
ASO.id
,ASO.Symbol
,ASO.Nazwa
,GRUPY.Nazwa
,STANY.IloscDostepna
,STANY.Magazyn_ID
FROM
ModelDanychContainer.Asortymenty ASO
LEFT JOIN ModelDanychContainer.StanyMagazynowe STANY ON STANY.Asortyment_ID
= ASO.ID
JOIN ModelDanychContainer.GrupyAsortymentu GRUPY ON GRUPY.ID = ASO.GRUPA_ID)
AS sc
PIVOT
(
SUM(IloscDostepna) FOR Magazyn_ID IN ([100000],[100005],[100006])
) AS pv
答案 0 :(得分:0)
试试这个:
SELECT
Id
,Symbol
,GroupyNazwa
,AsoNazwa
,isnull([100000],0) AS [Magazyn 1]
,isnull([100005],0) AS [Magazyn 2]
,isnull([100006],0) AS [Magazyn 3]
,isnull([100000],0)+isnull([100005],0)+isnull([100006],0) Razem
FROM (
SELECT
ASO.id
,ASO.Symbol
,ASO.Nazwa AS AsoNazwa
,GRUPY.Nazwa AS GroupyNazwa
,STANY.IloscDostepna
,STANY.Magazyn_ID
FROM
ModelDanychContainer.Asortymenty ASO
LEFT JOIN ModelDanychContainer.StanyMagazynowe STANY ON STANY.Asortyment_ID = ASO.ID
JOIN ModelDanychContainer.GrupyAsortymentu GRUPY ON GRUPY.ID = ASO.GRUPA_ID
)
AS sc
PIVOT
(
SUM(IloscDostepna) FOR Magazyn_ID IN ([100000],[100005],[100006])
) AS pv
问题是子查询有两列具有相同的别名“Nazwa”ASO.Nazwa
和GRUPY.Nazwa
。