Я пытаюсь свернуть несколько строк в одну с помощью FOR XML PATH.Я не уверен, почему я получил ошибку «Неверный синтаксис рядом с ключевым словом« FOR »»
Я следовал этому руководству: https://www.mssqltips.com/sqlservertip/2914/rolling-up-multiple-rows-into-a-single-row-and-column-for-sql-server-data/
SELECT
movie.name, movie.date, movie.filelocation,
movie.imdb, movie.description,
STUFF ((SELECT ';' + genre.name
FROM genre
WHERE genre.id = mov_genr.gen_id
AND movie.id = mov_genr.mov_id
FOR XML PATH ('')), 1, 1, '') [genres]
FROM
movie
FULL JOIN
mov_genr on movie.id = mov_genr.mov_id
FULL JOIN
genre on mov_genr.gen_id = genre.id
У меня 3 таблицы, movie
с кучей фильмов, mov_genr
- это таблица, которая связывает фильмы с жанрами, и genre
таблица, которая содержит жанры.
Я хочу запрос, который показывает мне все фильмы и всежанры для этих фильмов, но не дублируют строки фильма, а просто отображают жанры в виде 1 связанной строки.