![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Соединение двух таблиц по полю у которых могут быть значения null [D7]
McSimm2 © (2003-06-20 14:59:00)[Oracle]
Как связать две таблицы ??
select *
from table t1, table t2
where t1.field1 = t2.field1(+) and
t1.field2 = t2.field2(+)
Всё связывается, но если значение полей
t1.field2 ,t2.field2 is null, то связь не проходит....
как быть ?
McSimm2 (2003-06-20 15:25:00) [21]>> это че? Oracle?
Вопрос читай внимательнее, тогда и поймёш чё это...
А по структуре, что ты хочешь в ней увидеть ???
Пусть будут :Две таблицы по четыре поля в каждой.
table1 (Улица, дом , кв-ра, поле1)
table2 (Улица, дом , кв-ра, поле2)
Результат:
Улица, дом , кв-ра, поле1,поле2(значение1)
Улица, дом , кв-ра, поле1,поле2(значение2)
Johnmen (2003-06-20 15:23:00) [22]Как это не "вяжутся" ??? Откинь квартиру - и повяжутся :)
where (t1.улица = t2.улица(+) and
t1.дом = t2.дом(+) and
t1.квартира = t2.квартира(+) and
(t1.квартира not null) and (t2.квартира not null)) or ...
Ну а ... сам сообразишь :)
Johnmen (2003-06-20 15:23:00) [23]Как это не "вяжутся" ??? Откинь квартиру - и повяжутся :)
where (t1.улица = t2.улица(+) and
t1.дом = t2.дом(+) and
t1.квартира = t2.квартира(+) and
(t1.квартира not null) and (t2.квартира)) or ...
Ну а ... сам сообразишь :)
Anatoly Podgoretsky (2003-06-20 15:21:00) [24]Johnmen © (20.06.03 15:05)
Хуже - это уже беспредел.
Соловьев (2003-06-20 15:20:00) [25]это че? Oracle?
и что в результате хотим? какая цель запроса?
и все-таки структуру БД хотелось бы глянуть...
McSimm2 (2003-06-20 15:17:00) [26]select *
from table t1, table t2
where t1.улица = t2.улица(+) and
t1.дом = t2.дом(+) and
t1.квартира = t2.квартира(+)
У дома квартиры может не быть тогда два адреса не "вяжутся" ...
Соловьев (2003-06-20 15:15:00) [27]структуру таблиц в студию!
McSimm2 (2003-06-20 15:12:00) [28]>> Соловьев © (20.06.03 15:09)
Это к тому, что значение поля очень да же может быть null и это стандартная ситуация и в данной ситуации нужно как то связывать эти таблицы
Johnmen (2003-06-20 15:12:00) [29]а причем здесь дом ?
Соловьев (2003-06-20 15:09:00) [30]
> что связка по улице и дому,
а при чем здесь квартира?
McSimm2 (2003-06-20 15:07:00) [31]Да ну... А если, допустим такая ситуация , что связка по улице и дому, а квартиры нет...
Johnmen (2003-06-20 15:05:00) [32]Чтобы что-то связать, надо иметь что-то, к чему привязаться.
Если null связывается с null, то что-то "Не то в консерватории", как говорит АП...:)
stone (2003-06-20 15:02:00) [33]если null может быть с двух сторон тогда full outer join
Mike1 Kouzmine1 (2003-06-20 15:01:00) [34]or (isnull(f1) and isnull(f2))
stone (2003-06-20 15:01:00) [35]select *
from table t1 left outer join table t2
on t1.field1 = t2.field1 and t1.field2 = t2.field2