![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
значения Null [D6, MSSQL]
Karlson © (2004-01-15 15:37:00)
Здравствуйте! такая ситуация: есть три связанные таблицы: Юзер (поля id, Name_user), Вспомогательная(id_user,id_osn), Основные(id,name_osn). Связь таблиц следующая: Юзер и Вспомогательная (id, id_user), Основные и Вспомогательная (id, id_osn). В таблицу Вспомагательная могут быть введены даные Null (поле id_user). Помогите организовать в одном SQL запросе следующее: чтобы выбиралась информация про названия основных и связанных с ними юзеров и названия основных, с которыми юзера не связаны. Привожу мой запрос, который выдает неверную информацию:
select a.inv_numer, b.name, c.id_osn, c.id_user
from osnovni a, users b, osn_user c
where (c.id_osn = a.id)and(c.id_user = b.id or c.id_user is Null)
stone (2004-01-15 15:42:00) [1]
left join или right join (в зависимости от ситуации)
Johnmen (2004-01-15 15:42:00) [2]http://www.delphimaster.ru/cgi-bin/forum.pl?id=1074165813&n=1
Ega23 (2004-01-15 15:41:00) [3]
Это, что-ли?
select a.inv_numer, b.name, c.id_osn, c.id_user
from osnovni a, users b, osn_user c
where c.id_osn = a.id and c.id_user is Null
UNION ALL
select a.inv_numer, b.name, c.id_osn, c.id_user
from osnovni a, users b, osn_user c
where c.id_osn = a.id and c.id_user = b.id
Или что-то другое надо?