|
|
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Лох, такое идиотсткое сообщение о несовпадении количества столбцов в аксес можно получить если в вычисляемом поле исходного запроса (Запрос1) есть ошибка (#Ошибка) в каком нибудь хитром случае. Если ошибка идентифицируется аксесом, то получишь сообщение именно об этой ошибке (типа деление на 0), если чтонить посложнее, тогда и происходит такой выбрык (ну, не может аксес предусмотреть все случаи обработки ошибок). У тебя все заработало случайно не после того как ты исходные данные в таблицах поменял или изменил способ вычисления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:30 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Насколько я сталкивался, если в вычисляемом поле исходного запроса есть #ошибка, то выдается несоответствие типов данных в условии отбора, а не несовпадение количества столбцов. Но вычисляемых полей нет. Есть только агрегат (суммирование в моем случае), и вот он то и должен обязательно присутствовать в итоговой выборке, иначе не работает. Данные не менял, способ вычисления не менял, изменил только итоговый набор полей. А тестовый пример вообще без данных глючит с такими же симптомами. И с данными глючит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:36 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Прикольно. (постараюсь запомнить) Интересно, что ключевым для проявки бага является не только GROUP BY, но и ALL (в UNION). Если его убрать - все хоккей. Отсюда - марал: Добавляем в запросы по ,1 AS Exp1 (в 1-й), 2 AS Exp1 (во второй) (...n AS Exp1 -в n-й :0) в список полей и избавляемся от необходимости писать ALL в UNION. Канешна - всего лишь одно из "средств от тараканов". Но должно помочь. Опять же-ж ненужных агрегатов не надь вычислять. я в 97 jet апдейтил надысь (с подачи ЛП). В АКС2000 проблем нет (его джет, кажисть, рюхает). Итого, набирается: 1. глюк с левым джоном и константой в полях объединения (от 2-го до 2000 Акса). Назовем "Левая константа". 2. глюк с левым джоном и булевым полем (в 97-м и 2000 точно есть) в присоединяемой таблице, выводимой в набор с группировкой (в т.ч.- именно по этому полю). (Сообщение "Текущая запись отсутствует". Борется хотя бы Nz(буля), или {t.[буль]+0 AS буль}) (для себя обозвал "Null в буле (из-за ЛефтДжона) + GROUP BY буль). 3. И вот этот глюк - "столкновение GROUP BY и UNION ALL". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:37 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2. глюк с левым джоном и булевым полем (в 97-м и 2000 точно есть) в присоединяемой таблице, выводимой в набор с группировкой (в т.ч.- именно по этому полю). (Сообщение "Текущая запись отсутствует". Борется хотя бы Nz(буля), или {t.[буль]+0 AS буль}) (для себя обозвал "Null в буле (из-за ЛефтДжона) + GROUP BY буль). Во блин, а я это тоже наблюдал. Только не догадался буль + 0 As буль сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:46 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Во блин, а я это тоже наблюдал. Только не догадался буль + 0 As буль сделать дык я во ВТОРОЙ раз тоже не догадался (вспомнил, что этот запрос правил уже кому-то и решил сравнить. Когда сравнивал - вспомнил, что "уже бился". Тады (в первОй, бишь, раз) я почему-то быстро сообразил выкинуть часть полей и сразу понял что проблема в нем, - в поле. А во второй-то раз мозги не захотели напрягаться. Все пытался по разному сджойнить (там было табличек 5, - пара иннеров да пара лефтов,). Это уж потом придумал попытаться запомнить глюк по имени. Все одно не помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:59 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32321176&tid=1678315]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
80ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 404ms |

| 0 / 0 |
