powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Вопрос по запросу при объединении
5 сообщений из 5, страница 1 из 1
Вопрос по запросу при объединении
    #39519928
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!

Есть такой запрос-объект "Запрос1"
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
//Блок 1
(SELECT
	Т1.[Код] AS [Кодэлемента],	
	NULL AS [Код подэлемента]	
FROM
	Элементы Т1	
WHERE
	Т1.[Привязывать подэлементы]=True)


UNION


//Блок 2
(SELECT
	Т1.[Код] AS [Код элемента],
	Т2.[Код] AS [Код подэлемента]
FROM
	Элементы Т1,
	Подэлементы Т2
WHERE
	Т1.[Привязывать подэлементы]=True)


UNION


//Блок 3
(SELECT
	Т1.[Код] AS [Код элемента],
	NULL AS [Код подэлемента]
FROM
	Элементы Т1
WHERE
	Т1.[Привязывать подэлементы]<>True)

При запуске "Запрос1" выдает ошибку "Не соответствие типов данных в выражении условия отбора"

Все из за того, что в блоке 1 поле [Код подэлемента] при наличии NULL задает не соответствующий формат для блока 2.

Потом если в запросе удалить блок 3, то в результате в поле [Код подэлемента] вылезает абракадабра.

Как это исправить?
...
Рейтинг: 0 / 0
Вопрос по запросу при объединении
    #39519932
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь сначала блок 2, а потом остальные блоки.
...
Рейтинг: 0 / 0
Вопрос по запросу при объединении
    #39520020
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaПоставь сначала блок 2, а потом остальные блоки.Поменять то можно. Тут есть один риск. Если в блоке 2 не будут значения, то получится другой тип данных. А нужный тип данных это длинное целое как внешний ключ. Потом результат вставляется в Access-таблицу.
...
Рейтинг: 0 / 0
Вопрос по запросу при объединении
    #39520047
ferzmikkAkinaПоставь сначала блок 2, а потом остальные блоки.Поменять то можно. Тут есть один риск. Если в блоке 2 не будут значения, то получится другой тип данных. А нужный тип данных это длинное целое как внешний ключ. Потом результат вставляется в Access-таблицу.
можно поставить первым пустой подзапрос - для "декларации" результирующих типов данных, в таком духе
Код: sql
1.
2.
3.
SELECT 0 AS [Кодэлемента], 0 AS [Код подэлемента] FROM Элементы WHERE 0=1
UNION
... //и далее все остальные ваши подзапросы
...
Рейтинг: 0 / 0
Вопрос по запросу при объединении
    #39520056
ferzmikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
непоймучка,

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


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