Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
ВнизСоединить таблицу с собой Найти похожие ветки
← →
Vlad Oshin © (2006-12-28 17:46) [0]пусть есть
mytable
---------
cl1 | cl2
---------
a | 12
a | 22
b | 32
надо получить
a 12 22
b 32 null
пишу
select
a.cl1, a.cl2, b.cl2
from
mytable a
inner join
mytable b
ON
a.cl1=b.cl1
where
a.cl2<b.cl2
получаю
a 12 22
, что и следовало ожидать
а как сделать, чтоб было
a 12 22
b 32 null
?
можно, конечно, добить таблицу еще одним значением b null для симметрии :), но может подскажете как надо? Если ответ очевиден - не пинайтесь, хотя бы намекните
← →
stone © (2006-12-28 18:08) [1]Изврат, кончно, но можно так
select a.cl1, a.cl2, b.cl2
from mytable a
inner join mytable b ON a.cl1=b.cl1 and a.cl2 < b.cl2
union all
select a.cl1, a.cl2, null from
(select cl1, count(cl2) as cnt from mytable
group by cl1 having count(cl2) = 1) b
inner join mytable a on a.cl1 = b.cl1
← →
Vlad Oshin © (2006-12-28 18:35) [2]спасибо. мне хоть как лишь бы до пятницы
Пошел переводить на реальные таблы
← →
Vlad Oshin © (2006-12-28 19:11) [3]
> inner join mytable b ON a.cl1=b.cl1 and a.cl2 < b.cl2
вот из-за чего
не знал..
ни в одном примере не попалось что можно так писать, Множественное условие, т.е.
Обычно напишут inner join бла-бла ON a.qwe=s.qwe
и все, давай следующий пример, такой же
спасибо еще раз, все получилось :)
← →
Ega23 © (2006-12-28 19:18) [4]
> вот из-за чего
> не знал..
> ни в одном примере не попалось что можно так писать, Множественное
> условие, т.е.
> Обычно напишут inner join бла-бла ON a.qwe=s.qwe
> и все, давай следующий пример, такой же
>
во from выборка готовится, в where полученные данные фильтруются.
← →
Desdechado © (2006-12-28 19:19) [5]outer join
← →
ЮЮ © (2006-12-29 04:06) [6]
> outer join
тогда уж LEFT JOIN
← →
Megabyte © (2006-12-29 10:10) [7]Тогда уж Left Outer Join :)))
← →
ЮЮ © (2006-12-29 10:34) [8]
> Тогда уж Left Outer Join :)))
OUTER при LEFT можно опускать, ибо LEFT - однj из OUTER соединений.
а вот LEFT не опустишь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.055 c