powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ак97, Старый баг группировки в аутер джойне с булевым полем
4 сообщений из 4, страница 1 из 1
Ак97, Старый баг группировки в аутер джойне с булевым полем
    #32304531
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все время встаю на один и тот же грабель: в запросе булево поле в аутер сджойененной таблице, + группирвка в т.ч. по этому полю. Акс 97. Пока не воткнешь в группировку nz(от этого булева поля) - вышибает на "Текущая запись отсутствует".
Опять полдня потерял. А ведь сам когда то раскапывал.

Запишу ка я это на заборе. Авось не забуду.
...
Рейтинг: 0 / 0
Ак97, Старый баг группировки в аутер джойне с булевым полем
    #32304536
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Угу, и ты, и ЛП. :)
...
Рейтинг: 0 / 0
Ак97, Старый баг группировки в аутер джойне с булевым полем
    #32304847
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нееее, то, что ЛП, - это про аутер джойн с собственноручно добавленной же константой и именно по ней. А тут нормальная табла. Только поле в ей булево + группировка по полям и в частности по нему, по булеву. Добавляешь его в набор - выброс. Убираешь - все ок. Оформляешь Nz([fBool]) -все ок. Если джойн левый(правый), опять таки. И совсем по другим полям. И в части записей получается вроде как null. (Это может наследство в 97 от 2-го. Там null, помнится, в булево поле не пихался)
...
Рейтинг: 0 / 0
Ак97, Старый баг группировки в аутер джойне с булевым полем
    #32310328
assa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что, никто не сталкивался?

Пример:
A:
Код: plaintext
1.
2.
3.
4.
a	t	b
 1 	a	Нет
 2 	b	Нет
 3 	c	Нет
 4 	d	Нет
B:
Код: plaintext
1.
2.
3.
a	t	b
 1 	A	Нет
 2 	B	Нет
 3 	C	Нет

Код: plaintext
1.
2.
SELECT A.a, B.t
FROM A LEFT JOIN B ON A.a = B.a
GROUP BY A.a, B.t;
- работает
Код: plaintext
1.
2.
SELECT A.a, B.b
FROM A LEFT JOIN B ON A.a = B.a
GROUP BY A.a, B.b;
- "текущая запись отсутствует"
Код: plaintext
1.
2.
SELECT A.a, nz(.[b], [b]0 ) AS b
FROM A LEFT JOIN B ON A.a = B.a
GROUP BY A.a, nz(.[b], [b]0 );

- опять "работает"

но чтобы не путать 0 и null, тогда:
Код: plaintext
1.
2.
SELECT A.a, iif(isnull([B].[b]),null,[B].[b]) AS b
FROM A LEFT JOIN B ON A.a = B.a
GROUP BY A.a,  iif(isnull([B].[b]),null,[B].[b]);

как не странно - работает, и так, как надо.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Ак97, Старый баг группировки в аутер джойне с булевым полем
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]