Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объединение 2 строк и 2 столбцов в одно поле  [new]
SkyS
Member

Откуда: Не от мира сего
Сообщений: 667
Доброго времени суток.
Не могу разобраться с объединением.

Пример следующий:

Таблица А:

ID|NAIM
1 |a
2 |b


Таблица B:

ID|ID_A|DATA_ |NOMER
1 |1 |01.01.2013| 654
2 |1 |01.01.2013| 224
3 |2 |04.01.2013| 227
4 |2 |05.01.2013| 144



Так вот мне нужно получить таблицу вида
ID|NAIM|DOC
1 |a | 654 - 01.01.2013;224 - 01.01.2013
2 |b | 227-04.01.2013;144 - 05.01.2013


Можно ли это сделать?





Не откладывай на завтра то что можно сделать послезавтра :)
27 ноя 13, 08:58    [15196168]     Ответить | Цитировать Сообщить модератору
 Re: Объединение 2 строк и 2 столбцов в одно поле  [new]
DmitryVT
Member

Откуда: VRN
Сообщений: 192
Можно но, для этого необходимо воспользоваться поиском, антологичных тем тут полно

к пример:

[url=]https://www.sql.ru/forum/1059934/proshu-pomoshhi-s-select?hl=for xml[/url]
27 ноя 13, 09:35    [15196313]     Ответить | Цитировать Сообщить модератору
 Re: Объединение 2 строк и 2 столбцов в одно поле  [new]
deadok
Member

Откуда:
Сообщений: 86
DECLARE @A TABLE(ID Int,Name nvarchar(100))

INSERT INTO @A (ID,NAMe)
Select 1,'a'
UNION ALL
Select 2,'b'



DECLARE @B TABLE(ID int,ID_A int,Data datetime,Nomer nvarchar(100))

INSERT INTO @B(ID,ID_A,Data,Nomer)
SELECT 1 ,1, '20130101', '654'
UNION ALL
SELECT 2 ,1, '20130101', '224'
UNION ALL
SELECT 3 ,2 ,'20130104', '227'
UNION ALL
SELECT 4 ,2 ,'20130105', '144'



---- Тебе нужен вот этот запрос
Select a.ID,a.NAme, (Select b.Nomer + ' - ' + CAST(b.Data as nvarchar(100))+';' FROM @B b
WHERe b.Id_A = a.ID
FOr XML Path('')) Doc
from @A a
27 ноя 13, 09:42    [15196358]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить