Код: Выделить всё
select t1.f1, t2.f2
from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2
order by 1
Код: Выделить всё
select t1.f1, t2.f2
from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2
order by 1
так что SQL таки будет работать???????sag писал(а):В селект-запросах иб-линейки хп выступает как набор данных, который может состоять из множества "строк". Отсюда и джойны.
select t1.f1, t2.f2dimitr писал(а):я, конечно, темный человек, но вроде в Оракле хрен напишешь плюсиками вот такой джойн:
Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2 order by 1
я еще темнее, с ораклом уже 4 года не встречался... Так вот, по остаточным своим воспоминаниям: не зная таких возможностей не воникало в этом потребностейdimitr писал(а):я, конечно, темный человек, но вроде в Оракле хрен напишешь плюсиками вот такой джойн:Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2 order by 1
у dimitr-а рука дрогнула, он думал про:tie писал(а):или я чего-то не понял?
Код: Выделить всё
select t1.f1, t2.f2
from t1 left join t2 on t1.f1 = t2.f2 and t2.f3 = 2
order by 1
будет:select t1.f1, t2.f2
from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2
order by 1 ]
Код: Выделить всё
select t1.f1, t2.f2
from t1, t2, (select f1 from t1 where f2 = 2) t3
where t1.f1 = t3.f1(+) and t3.f1 = t2.f2(+)
order by t1.f1
будет:sag писал(а):dimitr-а рука дрогнула, он думал про:Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t2.f3 = 2 order by 1
Код: Выделить всё
select t1.f1, t2.f2
from t1, (select t2.f2 from t2 where t2.f3 = 2) t3
where t1.f1 = t3.f2(+)
order by t1.f1
Код: Выделить всё
select t1.f1, t2.f2
Код: Выделить всё
on t1.f1 = t2.f2
Привет, tie,tie писал(а):будет:sag писал(а):Тоже мне бином Ньютона..Код: Выделить всё
руки у меня пока что не дрожатsag писал(а):у dimitr-а рука дрогнула, он думал про:Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t2.f3 = 2 order by 1
да, вроде оно. Но запрос становится сложнее.tie писал(а):будет:Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t1.f2 = 2 order by 1 ]
если я правильно понял работу left join в данном контексте.....Код: Выделить всё
select t1.f1, t2.f2 from t1, t2, (select f1 from t1 where f2 = 2) t3 where t1.f1 = t3.f1(+) and t3.f1 = t2.f2(+) order by t1.f1
проще так:tie писал(а):будет:Код: Выделить всё
select t1.f1, t2.f2 from t1 left join t2 on t1.f1 = t2.f2 and t2.f3 = 2 order by 1
Код: Выделить всё
select t1.f1, t2.f2 from t1, (select t2.f2 from t2 where t2.f3 = 2) t3 where t1.f1 = t3.f2(+) order by t1.f1
Код: Выделить всё
select t1.f1, t2.f2
from t1, t2
where t1.f1 = t2.f2(+) and t2.f3 (+)= 2
order by t1.f1
угу. Я, натрахавшись с плюсиками а-ля мой предыдущий сценарий, радостно перешел в девятке на нормальные джойны. Мдя. Лучше бы я этого не делал. На джойнах-этажерках варианта реакции было три - неправильный результат, уход в даун с крейзи-планом или internal Oracle error. Начиная с какого-то патча худо-бедно внешние джойны вроде заработали, но "осадочек остался" (с)sag писал(а):А когда встречался - то другие проблемы были.
Замяли то замяли... Однако твоя фраза:dimitr писал(а): ладно, замяли... мы и так отошли от темы
Однако...dimitr писал(а): я, конечно, темный человек, но вроде в Оракле хрен напишешь плюсиками вот такой джойн: