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

Откуда:
Сообщений: 336
прошу прощения за глупый вопрос, Но как в MS SQL Server 2005 выполнить запрос такого вида
"SELECT a,b,(SELECT c FROM Z WHERE id=x.id) FROM X WHERE GROUP BY 3,a,b"
Проблема , я знаю как использовать номер поля в данной ситуации, в MS ACCESS все работает.
Разложить подзапрос не получается так как он возвращает Null, и выподает из выборки.
26 окт 09, 13:46    [7838316]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
iljy
Member

Откуда:
Сообщений: 8711
Mixon
прошу прощения за глупый вопрос, Но как в MS SQL Server 2005 выполнить запрос такого вида
"SELECT a,b,(SELECT c FROM Z WHERE id=x.id) FROM X WHERE GROUP BY 3,a,b"
Проблема , я знаю как использовать номер поля в данной ситуации, в MS ACCESS все работает.
Разложить подзапрос не получается так как он возвращает Null, и выподает из выборки.

а аксесс понимает такой синтаксис?? что-то сомневаюсь... Что запрос делать должен?
26 окт 09, 13:56    [7838432]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Mixon
WHERE GROUP BY
И это работает? Прикольно.
Зачем там GROUP BY, если достаточно DISTINCT
SELECT DISTINCT a,b,(SELECT c FROM Z WHERE id=x.id) FROM X
?
Зачем коррелированный подзапрос, если JOIN лучше?
SELECT DISTINCT X.a,X.b,Z.c
FROM X LEFT JOIN Z ON Z.id=X.id
Можно и GROUP BY
SELECT a,b,c FROM
(SELECT a,b,(SELECT c FROM Z WHERE id=x.id) FROM X) T(a,b,c)
GROUP BY a,b,c;
26 окт 09, 14:00    [7838477]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
Mixon
Member

Откуда:
Сообщений: 336
"WHERE GROUP BY 3,a,b" извиняйте, да после WHERE идет условие, пропустил.
26 окт 09, 14:27    [7838764]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
Glory
Member

Откуда:
Сообщений: 104760
Mixon
"WHERE GROUP BY 3,a,b" извиняйте, да после WHERE идет условие, пропустил.

А вы точно понимаете, какой результат хотите получить ?
26 окт 09, 14:28    [7838776]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
iljy
Member

Откуда:
Сообщений: 8711
Mixon
"WHERE GROUP BY 3,a,b" извиняйте, да после WHERE идет условие, пропустил.


GROUP BY 3,a,b == select distinct ...
26 окт 09, 14:29    [7838785]     Ответить | Цитировать Сообщить модератору
 Re: Использования индекса поля в запросе  [new]
Mixon
Member

Откуда:
Сообщений: 336
Всем спасибо за участие и помощь.
26 окт 09, 15:28    [7839353]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить