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

Откуда:
Сообщений: 25
В целом, он делает то, что нужно, но, кажется, очень неоптимально... Не знаю, как ещё это можно сделать, может, здесь есть профессионалы, которые могут посоветовать что-нибудь?

SELECT IT1.*, IT4.*
FROM dbo.ITEM1 as IT1 
JOIN dbo.ITEM1 as IT2 ON IT1.ID_Group=IT2.ID_Group
JOIN dbo.ITEM2 as IT3 ON IT3.[Value]=IT2.[Value]
JOIN dbo.ITEM2 as IT4 ON IT4.ID_Group=IT3.ID_Group AND IT4.[code]=IT1.Code
WHERE IT1.ID_Group NOT IN (SELECT ID FROM [Group] WHERE ByGroup = 1) AND IT2.IsPrimary = 1 AND IT3.IsPrimary = 1
UNION
SELECT IT1.*, IT4.*
FROM dbo.ITEM1 as IT1 
JOIN dbo.ITEM2 as IT4 ON IT4.ID_Group=IT1.ID_Group AND IT4.Code=IT1.Code
WHERE IT1.ID_Group IN (SELECT ID FROM [Group] WHERE ByGroup = 1) 
ORDER BY IT1.Code Asc
6 мар 17, 21:18    [20268813]     Ответить | Цитировать Сообщить модератору
 Re: Как можно соптимизировать запрос?  [new]
Massa52
Member

Откуда:
Сообщений: 382
Andrea911,
Не могу понять смысл(зачемэто надо) - таблица жоинтся саму на себя
FROM dbo.ITEM1 as IT1 
JOIN dbo.ITEM1 as IT2 ON IT1.ID_Group=IT2.ID_Group
7 мар 17, 04:32    [20269352]     Ответить | Цитировать Сообщить модератору
 Re: Как можно соптимизировать запрос?  [new]
Добрый Э - Эх
Guest
Andrea911,

уж лучше бы привел тестовый набор данных, желаемый результат на них и словесное объяснение, как из тестового набора получить желаемый результат. Чем постить запрос, который "делает то, что нужно, но, кажется, очень неоптимально"...
7 мар 17, 05:45    [20269359]     Ответить | Цитировать Сообщить модератору
 Re: Как можно соптимизировать запрос?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8350
В любом случае там две строчки лишние.
7 мар 17, 11:32    [20270173]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить