Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
Привет. прошу помощи. мозг сломал в элементарном примере.
БД на SQL2000
Запрос
SELECT t1.F1, t1.F2, t2.F1, t2.F2
FROM t1
LEFT outer JOIN t2
ON t1.F3 = t2.F3

из правой таблицы не выбирает строки с недостающими значениями, т.е. работает как INNER.
Что глянуть, а? Спасибо.
Сделал тестовый пример - всё выбирает, nulls показывает. :(
15 июн 11, 12:30    [10815169]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Вот и приведите тестовый пример того, что не выбирает.
15 июн 11, 12:31    [10815191]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
vicktor,

вот примеры
create table #t (a int, text1 nvarchar(10));
insert into #t values(1,'Animals');
insert into #t values(2,'People');
insert into #t values(3,'Birds');
insert into #t values(4,'Pets');
go

create table #t1 (b int, a int,text2 nvarchar(10));
insert into #t1 values(1,1,'Tiger');
insert into #t1 values(2,1,'Leopard');
insert into #t1 values(3,3,'Eagle');
insert into #t1 values(4,4,'Cats');
insert into #t1 values(5,4,'Dogs');
insert into #t1 values(6,5,'h1n1');
insert into #t1 values(7,5,'e2e4');
go


-- Cross join
select * from #t,#t1

-- join
select * from #t a,#t1 b
where a.a=b.a

-- Left join
select t.a,t.text1,t1.b,t1.text2 from #t as t
left join #t1 as t1 on t1.a = t.a

-- right join
select t.a,t.text1,t1.b,t1.text2 from #t as t
right join #t1 as t1 on t1.a = t.a

15 июн 11, 12:34    [10815213]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
Shakill
Member

Откуда: мск
Сообщений: 1887
gds, а что в результатах этих примеров неправильного?
15 июн 11, 12:42    [10815292]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
tpg,

тестовый выбирает.
Создал новые таблицы с теми же названиями, но только с нужными полями. Работает.
Вот скрин данных из старых таблиц. Для GRR=2 справа , слева нет соответствия. Должно быть Null.
15 июн 11, 12:47    [10815340]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
gds
Member

Откуда: Железнодорожный
Сообщений: 1842
Блог
Shakill
gds, а что в результатах этих примеров неправильного?

Все правильно. Просто я так понял, что ТС не может построить пример работы с join и понять логику. Я ему привел примеры, где все работает правильно. Пусть разберается. И на основе примера построит свой запрос.
15 июн 11, 12:48    [10815343]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
скрин не прилип :(

К сообщению приложен файл. Размер - 62Kb
15 июн 11, 13:08    [10815545]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
и реал

К сообщению приложен файл. Размер - 86Kb
15 июн 11, 13:11    [10815572]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
в последнем написано right OUTER JOIN - сорри , это я игрался, но результат тот же. Ума не приложу.
15 июн 11, 13:33    [10815753]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
monsenior
Member

Откуда: Москва
Сообщений: 975
vicktor
скрин не прилип :(

это такое?
15 июн 11, 14:20    [10816097]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
monsenior
vicktor
скрин не прилип :(

это такое?


vicktor
tpg,

тестовый выбирает.
Создал новые таблицы с теми же названиями, но только с нужными полями. Работает.
Вот скрин данных из старых таблиц. Для GRR=2 справа , слева нет соответствия. Должно быть Null.
15 июн 11, 14:26    [10816163]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Ну, значит у вас реальные данные такие.
15 июн 11, 14:40    [10816275]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
vicktor
Member

Откуда:
Сообщений: 62
разобрался. сорри, шальные руки башке покоя не дают.
15 июн 11, 14:59    [10816441]     Ответить | Цитировать Сообщить модератору
 Re: LEFT outer JOIN  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
vicktor
разобрался. сорри, шальные руки башке покоя не дают.
Что, нашли лишнее WHERE GRR = 2 ?

ЗЫ Чего так многие любят скриншоты? Неужели не знают про Ctrl+C и Ctrl+V ???
15 июн 11, 15:20    [10816618]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить