SQL Concat从第二个表到一列的值

时间:2012-02-29 11:51:50

标签: sql stored-procedures

我有两个SQL表

条目(的EntryID,名称,日期)

条目文件(fileid,entryid,filename,dateadded)

我试图编写一个存储过程来从条目中返回所有内容,并为每一行返回该条目的文件的连接列表。

从阅读堆栈溢出到目前为止

SELECT *,
        (
            SELECT f.FileName + ','
            FROM EntryFiles f 
            WHERE f.entryid = e.entryid
            FOR XML PATH('')
            ) AS Files
FROM Entries e

我为拥有文件的行获取重复的行,我知道我正在做一些非常愚蠢的事情,但有一个脑死亡的时刻。 干杯

例如我得到

entryid名称日期文件

1 entry1 01/01/2012 NULL

2 entry2 01/02/2012 file1,file2,

2 entry2 01/02/2012 file1,file2,

2 个答案:

答案 0 :(得分:1)

使用distinct关键字...希望这会对你有所帮助..

答案 1 :(得分:1)

试试这个我希望你能得到解决方案

SELECT *,
        (
            SELECT f.FileName 
            FROM EntryFiles f 
            WHERE f.entryid = e.entryid
            FOR XML PATH('')
            ) AS Files
FROM Entries e