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

Откуда:
Сообщений: 796
Приветствую!
Можно ли сделать из такого вида:
<tbl_Objects>
  <ObjectsID>13D7FA35-29C0-485E-906E-095574BAE487</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>6454EB0B-A89B-4E47-B883-207B4C20B5A1</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>7461148D-6009-42F8-96E2-3C337A17F598</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>3C3F19C5-36A6-4127-9F27-3F811FB4AE09</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>A1076760-4F75-4146-9FD8-521D44539EA5</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>BA1E1FD1-4BA8-4391-9C9D-5859754020C7</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>B609B0A2-4272-42BB-9DA5-7268044EB644</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>D7ECA2E5-DBEA-4371-87D8-B91F4A744494</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>CE99897F-24E6-4673-B607-CB0B5EF925FC</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>8919508E-CA09-4CEA-A308-ECCD7B7F5648</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>
<tbl_Objects>
  <ObjectsID>150E1DE0-BB45-4F87-97F4-F6CAC753E39F</ObjectsID>
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>


вот такой:

<tbl_Objects>
  <ObjectsID>13D7FA35-29C0-485E-906E-095574BAE487</ObjectsID>
 <ObjectsID>150E1DE0-BB45-4F87-97F4-F6CAC753E39F</ObjectsID>
 <ObjectsID>13Dвапав35-29C0-485E-906E-095574BAE487</ObjectsID>
 <ObjectsID>150E1DE0-BB45-4F87-97F4-F6CAC753E39F</ObjectsID>
 <ObjectsID>13Dвапвф29C0-485E-906E-095574BAE487</ObjectsID>
 <ObjectsID>435м7FA35-29C0-485E-906E-095574BAE487</ObjectsID>
 <ObjectsID>13D7Fпаи35-29C0-485E-906E-095574BAE487</ObjectsID> 
  <IMG>
    <Img_Name>16к_10с_1-01.svg</Img_Name>
  </IMG>
</tbl_Objects>


То есть надо чтобы все id у которых одна и та же картинка были сгрупперованны

вот сам запрос:

Select tbl_Objects.id as ObjectsID,IMG.name as Img_Name
from tbl_Objects 
left join tbl_Section s ON s.ID = tbl_Objects.SectionID
left join IMG  ON IMG.code = (right(left(tbl_Objects.code,5),2) + s.name + cast(ProjectNumber as nvarchar(10)))
where ObjectID = '3036E33E-03FE-4051-8262-B43D0FD37C66'
and ProjectNumber is not null
and IMG.name is not null
group by  tbl_Objects.id , IMG.name
order by Img_Name asc
for xml auto, elements
19 апр 16, 11:22    [19075823]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в xml  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Попробуйте подзапросами возвращять нужные Вам данные. Были бы DDL таблиц, то можно было бы предложить что-то по элегантнее.

+
DECLARE @img TABLE (
    code NVARCHAR(10) PRIMARY KEY,
    name NVARCHAR(50)
)
INSERT INTO @img
VALUES
    (N'abc1', N'16к_10с_1-01.svg'),
    (N'abc2', N'test.svg')

DECLARE @obj TABLE (
    id NVARCHAR(50) PRIMARY KEY,
    code NVARCHAR(10)
)
INSERT INTO @obj
VALUES
    (N'13D7FA35-29C0-485E-906E-095574BAE487', N'abc1'),
    (N'150E1DE0-BB45-4F87-97F4-F6CAC753E39F', N'abc1'),
    (N'13Dвапав35-29C0-485E-906E-095574BAE487', N'abc1'),
    (N'13Dвапав35-29C0-485E-1232-095574BAE487', N'abc2')

SELECT (
    SELECT ObjectsID = t2.id
    FROM @obj t2
    WHERE t2.code = t.code
    FOR XML PATH(''), TYPE
), (
    SELECT Img_Name = i.name
    FROM @img i
    WHERE i.code = t.code
    FOR XML PATH('IMG'), TYPE
)
FROM (
    SELECT DISTINCT code
    FROM @obj
) t
FOR XML PATH ('tbl_Objects')

19 апр 16, 13:30    [19077026]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в xml  [new]
mishanya3624
Member

Откуда:
Сообщений: 796
AlanDenton,

Спасибо!
20 апр 16, 17:09    [19084329]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить