Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
pivogol
20 / 20 / 8
Регистрация: 07.01.2009
Сообщений: 545
#1

Выборка из связанных таблиц

15.10.2016, 14:11. Просмотров 214. Ответов 2
Метки нет (Все метки)

Как выбрать значения из связанных таблиц я знаю. Но в одном из случаев выбирается не всё.
Есть таблица пользователей и таблица кабинетов.
Из первой таблицы выбираю пользователей и код кабинета, из второй название кабинета по его коду.
Делаю так:
SQL
1
SELECT users.FIO, kabinets.Nazv FROM users, kabinets WHERE users.kab=kabinets.N ORDER BY fio
Одна проблема: такая выборка выбирает только тех, у кого кабинет присутствует в списке кабинетов, а если у кого-то из пользователей не указан кабинет или его нет в списке кабинетов, то он вообще не выбирается. А его тоже нужно выбрать.
Как сделать, чтобы выбирались не только те пользователи, у которых указан кабинет, но и те, у которых он не указан?
Я понимаю, что можно запретить не указывать кабинет. Однако, хотелось бы оставить возможность не указывать кабинет.
Подскажите, пожалуйста.

Добавлено через 5 минут
Этот вариант не работает:
SQL
1
SELECT users.N, users.FIO, kabinets.Nazv FROM users, kabinets WHERE ((users.kab=kabinets.N) OR (users.Kab=NULL))
Этот нельзя использовать, т.к. код кабинета число:
SQL
1
SELECT users.N, users.FIO, kabinets.Nazv FROM users, kabinets WHERE ((users.kab=kabinets.N) OR (users.Kab=""))
А этот вариант дублирует строки:
SQL
1
SELECT users.N, users.FIO, kabinets.Nazv FROM users, kabinets WHERE ((users.kab<>kabinets.N) OR (users.Kab=NULL))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.10.2016, 14:11
Ответы с готовыми решениями:

Выборка из нескольких связанных таблиц
Как выбрать значения из связанной таблицы понятно. А как выбрать значения из нескольких связанных...

Отображение связанных таблиц
Доброго времени суток всем участникам форума! Позвольте поделиться своей проблемой. Пишу...

Редактирование 2-х связанных таблиц
Здравствуйте, помогите пожалуйста с кодом. Имеется 2 таблицы созданные в MsAcsess. И по кнопке...

Удаление связанных таблиц
У меня возникла трудность в удалении связанных таблиц. Моё приложение перед его закрытием удаляет...

Удаление данных из связанных таблиц
Приветствую! БД - MySql. Подскажите как реализовать проверку удаления данных из таблицы,...

2
v90376
4 / 4 / 1
Регистрация: 25.07.2016
Сообщений: 33
15.10.2016, 14:11 #2
если нужны только пользователи то надо сделать выборку из одной таблицы users
0
pivogol
20 / 20 / 8
Регистрация: 07.01.2009
Сообщений: 545
15.10.2016, 14:56  [ТС] #3
Цитата Сообщение от v90376 Посмотреть сообщение
если нужны только пользователи то надо сделать выборку из одно таблицы users
Но я хочу, чтобы у каждого было указано название кабинета, если оно известно.

Добавлено через 44 минуты
Разобрался. Нужно так:
SQL
1
SELECT users.N, users.FIO, kabinets.Nazv FROM users LEFT JOIN kabinets ON users.kab=kabinets.N ORDER BY fio
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.10.2016, 14:56

Извлечение данных из связанных таблиц
Всем привет. Опыта у меня не сильно много, поэтому прошу сразу не издеваться)) Дело такое. Нужно...

Удаление связанных данных из таблиц
Имеется таблица А которая связана с последующими таблицами В,С...(их порядка 10). Хочу удалить все...

Удаление записей из связанных таблиц
суть темы такова: у меня есть 2 таблицы: Клиенты и Заказы. Таблицы размещены на разных формах. В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru