XML 路径/材料组合中的对象名称无效
Invalid object name in a XML Path / Stuff combination
我试图从不同的行中获取一些值到单个列中,但我一直收到此错误:
Invalid object name 't'
查询相当大且复杂,所以我将其缩小到一个简单的部分,但仍然出现错误。
select
IDs = stuff( ( select ',' + convert(varchar, t2.ChassisID)
from t as t2
where t2.ChassisID = 42 --t.ChassisID
for XML path('')
)
, 1, 1, ''
)
from ( select ch.ChassisID, p.GPS
from tblChassis ch
inner join tblPlace p on ch.BestemmingID = p.PlaceID
) t
group by t.Gps
我尝试将 where 子句更改为固定数字 (42) 而不是 t.ChassidID
,但仍然出现错误,因此只剩下一个地方可能导致我假设的错误,但我看不到为什么。
我可能遗漏了一些简单的东西,但我就是看不到它。
此查询有什么问题?
我正在使用 Sql Server 2014
尝试在 CTE 中声明过滤后的 table,然后两次引用此 CTE。
;WITH FilteredChassis AS
(
select
ch.ChassisID,
p.GPS
from
tblChassis ch
inner join tblPlace p on ch.BestemmingID = p.PlaceID
)
select
t.Gps,
IDs = stuff( ( select ',' + convert(varchar, t2.ChassisID)
from FilteredChassis as t2
where t2.Gps = t.Gps
for XML path('')
)
, 1, 1, ''
)
from
FilteredChassis AS t
group by
t.Gps
我已经通过gps
完成了link,我相信这就是你需要的。
我试图从不同的行中获取一些值到单个列中,但我一直收到此错误:
Invalid object name 't'
查询相当大且复杂,所以我将其缩小到一个简单的部分,但仍然出现错误。
select
IDs = stuff( ( select ',' + convert(varchar, t2.ChassisID)
from t as t2
where t2.ChassisID = 42 --t.ChassisID
for XML path('')
)
, 1, 1, ''
)
from ( select ch.ChassisID, p.GPS
from tblChassis ch
inner join tblPlace p on ch.BestemmingID = p.PlaceID
) t
group by t.Gps
我尝试将 where 子句更改为固定数字 (42) 而不是 t.ChassidID
,但仍然出现错误,因此只剩下一个地方可能导致我假设的错误,但我看不到为什么。
我可能遗漏了一些简单的东西,但我就是看不到它。
此查询有什么问题?
我正在使用 Sql Server 2014
尝试在 CTE 中声明过滤后的 table,然后两次引用此 CTE。
;WITH FilteredChassis AS
(
select
ch.ChassisID,
p.GPS
from
tblChassis ch
inner join tblPlace p on ch.BestemmingID = p.PlaceID
)
select
t.Gps,
IDs = stuff( ( select ',' + convert(varchar, t2.ChassisID)
from FilteredChassis as t2
where t2.Gps = t.Gps
for XML path('')
)
, 1, 1, ''
)
from
FilteredChassis AS t
group by
t.Gps
我已经通过gps
完成了link,我相信这就是你需要的。