MSSQL + Excel

comtehno
Дата: 26.01.2013 23:01:25
Доброго времени суток! Есть в БД 2 таблицы:
TABLE1
-------------------
ID
NAME

TABLE2
-------------------
ID
TAB1_ID
NAME
В таблице2 могут содержатся несколько записей для одной записи таблицы1. Начальство попросило вывести список в EXCEL в виде:
------------------------------
|TABLE1.NAME | TABLE2.NAME|
|----------------------- | TABLE2.NAME|
|----------------------- | TABLE2.NAME|
------------------------------
Вопрос, можно ли SQL запросом объединить записи, чтобы в Excel выводились подобным образом.
qwerty112
Дата: 26.01.2013 23:20:47
comtehno
...
Вопрос, можно ли SQL запросом объединить записи, чтобы в Excel выводились подобным образом.

да, можно
comtehno
Дата: 26.01.2013 23:22:19
qwerty112
comtehno
...
Вопрос, можно ли SQL запросом объединить записи, чтобы в Excel выводились подобным образом.

да, можно


Хотелось бы наводочку, где раскопки вести?
qwerty112
Дата: 26.01.2013 23:26:02
comtehno
qwerty112
пропущено...

да, можно


Хотелось бы наводочку, где раскопки вести?

1
пронумеровать - row_number() over(partition by id order by id) as rn
2
сджойнить - full join ... on a.id=b.id and a.rn=b.rn
Cygapb-007
Дата: 26.01.2013 23:29:33
comtehno
Начальство попросило вывести список в EXCEL
Выводишь в виде
------------------------------
|TABLE1.NAME | TABLE2.NAME|
|TABLE1.NAME | TABLE2.NAME|
|TABLE1.NAME | TABLE2.NAME|
------------------------------
и включаешь условное форматирование "белым по белому" для повторов
qwerty112
Дата: 26.01.2013 23:31:11
а тут даже проще, раз это таблицы связанны 1:М
нумеровать нужно только таб. на стороне М

и
select case when rn=1 or rn is null then TABLE1.NAME end as [TABLE1.NAME]

left join ... on t1.ID=t2.TAB1_ID
Критик
Дата: 27.01.2013 00:12:36
а всего-то и нужно было сводную таблицу сделать )
Cygapb-007
Дата: 27.01.2013 00:14:48
Критик
а всего-то и нужно было сводную таблицу сделать )
Не, я просто тоже сталкивался недавно с такой задачей:) это не сводная в чистом виде, скорее отчет с группировкой.
comtehno
Дата: 27.01.2013 12:20:46
Cygapb-007,
а можно поподробнее, в общем случае опишу еще раз задачу: на выходе sql скрипта к одной записи первой таблицы должно быть описано несколько записей второй таблице - но в одной строке выходной таблицы, чтобы при выводе в excel - количество записей совпадало с количеством записей в таблице номер 1.
Cygapb-007
Дата: 27.01.2013 13:07:10
comtehno
Cygapb-007,
а можно поподробнее, в общем случае опишу еще раз задачу: на выходе sql скрипта к одной записи первой таблицы должно быть описано несколько записей второй таблице - но в одной строке выходной таблицы, чтобы при выводе в excel - количество записей совпадало с количеством записей в таблице номер 1.
13834582 - куда подробней-то?
никуда повторы из SQL не убираешь, но скрываешь повторы в Excel.
Условное форматирование по формуле "если в предыдущей строке этой колонки то же самое, то отображать эту строку белым цветом текст и белым цветом фон"