Значения SQL Concat из второй таблицы в один столбец - PullRequest
0 голосов
/ 29 февраля 2012

У меня есть две таблицы SQL

Записи (entryid, name, date)

Записи файлов (fileid, entryid, filename, dateadded)

Я пытаюсь написатьхранимая процедура для возврата всего из записей и для каждой строки составного списка файлов для этой записи.

от чтения через переполнение стека, которое я получил до

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

Я получаю дубликатСтроки для строк, которые имеют файлы, я знаю, что я делаю что-то действительно глупое, но с мозговым мертвым моментом.Приветствия

Например, я получаю

имя даты, файлы с именами

1 запись1 01.01.2012 NULL

2 запись2 01.02.2012 file1,файл2,

2 запись2 01.02.2012 файл1, файл2,

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

попробуйте это, я надеюсь, вы получите решение

SELECT *,
        (
            SELECT f.FileName 
            FROM EntryFiles f 
            WHERE f.entryid = e.entryid
            FOR XML PATH('')
            ) AS Files
FROM Entries e
1 голос
/ 29 февраля 2012

используйте отличное ключевое слово ... надеюсь, это поможет вам ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...