第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將子查詢中的多個結(jié)果合并為一個逗號分隔值

將子查詢中的多個結(jié)果合并為一個逗號分隔值

蝴蝶不菲 2019-08-17 15:22:49
將子查詢中的多個結(jié)果合并為一個逗號分隔值我有兩張桌子:TableA------ID,NameTableB------ID,SomeColumn,TableA_ID (FK for TableA)這種關(guān)系是一排TableA- 許多TableB?,F(xiàn)在,我希望看到這樣的結(jié)果:ID     Name      SomeColumn1.     ABC       X, Y, Z (these are three different rows)2.     MNO       R, S這不起作用(子查詢中有多個結(jié)果):SELECT ID,       Name,        (SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID)FROM TableA如果我在客戶端進行處理,這是一個微不足道的問題。但這意味著我必須在每個頁面上運行X查詢,其中X是結(jié)果的數(shù)量TableA。請注意,我不能簡單地執(zhí)行GROUP BY或類似的操作,因為它將為行返回多個結(jié)果TableA。我不確定使用COALESCE或類似東西的UDF是否可行?
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

1.創(chuàng)建UDF:

CREATE FUNCTION CombineValues(
    @FK_ID INT -- The foreign key from TableA which is used 
               -- to fetch corresponding records)RETURNS VARCHAR(8000)ASBEGINDECLARE @SomeColumnList VARCHAR(8000);SELECT @SomeColumnList =
    COALESCE(@SomeColumnList + ', ', '') + CAST(SomeColumn AS varchar(20)) FROM TableB CWHERE C.FK_ID = @FK_ID;RETURN (
    SELECT @SomeColumnList)END

2.在子查詢中使用:

SELECT ID, Name, dbo.CombineValues(FK_ID) FROM TableA

3.如果您使用存儲過程,您可以這樣做:

CREATE PROCEDURE GetCombinedValues @FK_ID intAsBEGINDECLARE @SomeColumnList VARCHAR(800)SELECT @SomeColumnList =
    COALESCE(@SomeColumnList + ', ', '') + CAST(SomeColumn AS varchar(20)) FROM TableBWHERE FK_ID = @FK_ID 

Select *, @SomeColumnList as SelectedIds    FROM 
        TableA    WHERE 
        FK_ID = @FK_ID 
END


查看完整回答
反對 回復(fù) 2019-08-17
  • 3 回答
  • 0 關(guān)注
  • 1331 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號