В основном мне нужно взять 3 столбца из таблицы и объединить их в строки строк, используя значение первого столбца.
Запуск базового вывода с использованием:
select ItemID, Month, Year
from tableA
where ID = @id
Выход:
ItemID Month Year
1. 4 1 2012
2. 4 2 2012
3. 4 3 2012
4. 4 6 2012
5. 4 8 2012
6. 12 1 2012
7. 12 2 2012
8. 12 4 2012
9. 12 5 2012
10. 12 6 2012
11. 12 7 2012
12. 53 8 2012
13. 53 9 2012
Вывод, который я пытаюсь получить, должен выглядеть примерно так:
1. 41201222012320126201282012
2. 12120122201242012520126201272012
3. 538201292012
По сути, объединение всех ItemID с одинаковым номером и добавление месяца и года к концу этой строки до тех пор, пока не будет больше, а затем начало новой строки при появлении нового ItemID.
Я пробовал различные временные таблицы и сводные таблицы, но мне не удалось заставить его правильно выводить данные. Любая помощь будет оценена.
Спасибо
Итак, используя это:
declare @table table (idmy varchar(8))
insert into @table
select cast(ItemID as varchar(2)) +
cast(Month as varchar(2)) +
cast(Year as varchar(4)) as idmy
from TableA
where ID = @id
select idmy from @table
Я могу получить вывод:
idmy
1. 412012
2. 422012
3. 432012
4. 462012
5. 482012
6. 1212012
7. 1222012
8. 1242012
9. 1252012
10. 1262012
11. 1272012
12. 5382012
13. 5392012
Теперь, чтобы объединить все как начальные строки, делая выше ...