有時候查詢出的某一列結果要作為其他數據庫查詢條件,必須要做拼接轉換
方法:
SELECT [id] = stuff((SELECT distinct ',''' + t.id + '''' FROM table t WHERE t.id = 1 FOR xml path ('')),1,1,'');
方法使用如下:
SELECT [Id] = STUFF((SELECT DISTINCT ',''' + Ld + '''' FROM BaseMeterFieldType AS b WHERE b.MeterId IN (SELECT Id FROM BaseTree WHERE CompanyId = '071B4795-E124-E711-80EA-C979862AE7CB') FOR xml PATH('')),1,1,'');
執行結果:

以上報錯是由于id為GUID,且id需要小寫,所以需要進行類型轉換,方法如下:
SELECT [Id] = STUFF((SELECT DISTINCT ',''' + CAST(LOWER(b.Id) AS VARCHAR(4000)) + '''' FROM BaseMeterFieldType AS b WHERE b.MeterId IN (SELECT Id FROM BaseTree WHERE CompanyId = '071B4795-E124-E711-80EA-C979862AE7CB') FOR xml PATH('')),1,1,'');
執行結果:

浙公網安備 33010602011771號