29.01.2009, 17:03 | #1 |
Участник
|
Порядок выполнения GroupBy и Exists Join для временных таблиц
Как должна выполнятся конструкция вида
X++: while select tmpTable1 group by GroupId exists join tmpTable2 where tmpTable2.Id == tmpTable1.Id По аналогии с постоянными таблицами можно предположить, что сначала из таблицы tmpTable1 выберутся строкии, Id которых соответствуют строкам из таблицы tmpTable2. И затем отобранные строки сгруппируются по полю GroupId. На практике же оказывается что group by отрабатывает первым. Причём значение поля id не обнуляется, а становится равным значению из первой строки группы (первой по очерёдности вставки). И вот уже с этими Id продолжает работать exists join. Естественно результат такой выборки мало предсказуем. Данный баг уже был описан ранее? Или это фича такая? |
|
Теги |
bug, баг, временная таблица, запрос (query), ошибка |
|
Похожие темы | ||||
Тема | Ответов | |||
Проблемы с Exists Join | 28 | |||
Данные в Grid из таблиц, связанных по Outer Join | 2 | |||
Проблема с Exists Join | 5 | |||
outer join для трех таблиц | 4 |
|