Показать сообщение отдельно
Старый 30.01.2009, 09:06   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ваш вариант
PHP код:
SELECT GROUPID FROM TMPTABLE1
WHERE TMPTABLE1
.GROUPID EXISTS IN (SELECT FROM TMPTABLE2 WHERE TMPTABLE2.ID TMPTABLE1.ID)
GROUP BY GROUPID 
некорректен - т.к. конструкция SELECT * FROM TMPTABLE2 WHERE TMPTABLE2.ID = TMPTABLE1.ID не отработает из-за отсутствия в списке для выборки (а значит и группировки) из 1-й таблицы поля ID (группировка будет наложена раньше связывания).
В том то и дело, что корректен, но только для постоянных таблиц. Т.е. SQL Server всё делает в правильном (ожидаемом) порядке. Сначала Exists, а уже потом Group by. Когда же дело доходит до временных таблиц, то тут Axapta всё берёт в свои руки и делает это, мягко говоря, не очень