2
У меня есть 3 таблицы, и я пытаюсь создать отчет ...Добавить несколько столбцов VARCHAR
Table MP (data table)
mID col1 col2
1 data1 data2
2 data3 data4
3 data5 data6
Table MPU (user table)
uID UserName
1 user1
2 user2
3 user3
Table MPR (lookup table)
rID uID mID
1 1 2
2 2 2
3 1 1
Это основная логика выбора мне нужно (подзапрос/цикл):
Select
MP.mID
,MP.col1
,MP.col2
,MPU.UserName --format as 'user1, user2, user3' ...
From MP
left join MPR on MPR.mID = MP.mID
left join MPU on MPU.uID = MPR.uID
Мне нужно добавить строки имени пользователя вместе, как указано в коде.
Некоторые строки данных не будут иметь пользователей, а другие могут иметь до 10.
Я не хочу, чтобы несколько строк были заполнены так, как сейчас.
EDIT:
Примечание - SQL 2000
Вы могли бы хотеть попробовать сливаться .. что бы объединить все не пустые имена пользователей .. Я буду искать формат и опубликовать его позже. – logixologist
Существуют различные решения, такие как [this] (http://stackoverflow.com/questions/2046037/sql-server-can-i-comma-delimit-multiple-rows -into-one-column) для создания списков с разделителями-запятыми. FYI: В вашей таблице «MP» нет столбца «rID», но ваш запрос использует его. – HABO
Это решение работает только на 2005 год и новее. Мне так повезло, что я работаю в 2000 году. – McG369