powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объединение 1:1 таблиц
2 сообщений из 2, страница 1 из 1
Объединение 1:1 таблиц
    #32506173
Ега
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В первой табле ("Наименования") два поля: ID и Наименование.
Во второй табле ("Особо_ценные") одно поле: ID - подмножество ID первой таблы.

Понимаю, конечно, что все можно хранить в одной таблице, но строк во второй по отношению к первой - 1:20 - не экономно, однако

Надо объединить, чтобы появилось 3-е поле с 2-мя возможными значениями: "обычные", "ценные"

Можно сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
select Наименования.ID, Наименования.Наименование, "ценные"
from Наименования
where Наименования.ID in (select ID from Особо_ценные)
union
select Наименования.ID, Наименования.Наименование, "обычные"
from Наименования
where Наименования.ID not in (select ID from Особо_ценные)



Как это сделать без использования union - не хочу так громоздко, т.к. у меня еще куча таблиц и условий
...
Рейтинг: 0 / 0
Объединение 1:1 таблиц
    #32506198
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подзапросы эквивалентны неравным обьединениям и значительно медленние
Код: plaintext
1.
2.
SELECT Наименования.Id, Наименования.Наименование, Особо_ценные.Id AS test, IIf([test],"ценные ","не очень") AS Ценность
FROM Наименования LEFT JOIN Особо_ценные ON Наименования.Id = Особо_ценные.Id;


P.S. не стоит использовать русские названия таблиц и полей запутаешься в скобках
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Объединение 1:1 таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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