2012-02-29 42 views
0

我有两个SQL表SQL的毗连值成一列

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

项文件(的fileid,的EntryID,文件名,dateadded)

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

从通过堆栈溢出香港专业教育学院读得到尽可能这

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

即时得到重复的行对于具有文件行,我知道即时做一些非常愚蠢的,但有一个脑死亡的时刻。 干杯

比如我找

的EntryID名日期文件

1取值范01/01/2012 NULL

2 ENTRY2 01/02/2012文件1,文件2,

2 entry2 01/02/2012 file1,file2,

+0

我看不错。请添加一些示例数据,以显示您拥有的问题。 – 2012-02-29 12:00:28

+0

例如我获得 入口名称日期文件 1 entry1 01/01/2012 NULL 2 entry2 01/02/2012 file1,file2, 2 entry2 01/02/2012 file1,file2, – rs82uk 2012-02-29 12:09:15

+1

您是否有重复的'entryid '在'表格'中?你有什么工作很好。看看这里:http://data.stackexchange.com/stackoverflow/query/62758/new – 2012-02-29 12:22:00

回答

1

使用不同的关键字...希望这会帮助你..

1

试试这个,我希望你会得到解决

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