Left Join по двум полям

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Left Join по двум полям

Re: Left Join по двум полям

Dr_Grizzly » 05 июн 2012, 07:34

Вспомнил про свой метод через построитель запросов в самом Аксесе )) И результат стал интересным
Сначала запустил свои запросы по отдельности. И в запросе с Tab2 обнаружил ошибку цикличности по полю ples. Переназвал его. Запрос запустился. Хотя из приложения Дельфы - этот запрос без всяких косяков срабатывал.
Затем взял эти две таблицы - бросил в построитель, создал связь по двум полям и получил SQL код

SELECT tab1.*, tab2.*
FROM tab1 left JOIN tab2 ON (tab1.clas = tab2.clas) AND (tab1.name = tab2.name);

Получилось, что построитель поменял местами в условии поля....

Left Join по двум полям

Dr_Grizzly » 05 июн 2012, 06:22

Добрый день! Помогите разобраться в чем косяк.... Есть две таблицы, я создаю две виртуальные таблицы по каждой физической в которых есть 2 ключевых поля. По отдельности запрос выдает данные из двух виртуальных таблиц без проблем. Т.е. данные в них есть. Теперь хочу объединить эти две таблицы в одну, связав их по двум ключевым полям.

Код: Выделить всё


create view tab1 as select name,clas,Count(ochag.regnomer) as kolvo from ochag
group by clas,name

create view tab2 as select name,clas, sum(ples) as ples, sum(verh) as verh, sum(pneles) as pneles, sum(pnoles) as pnoles from ochag, fire where ochag.key=fire.ochagkey 
group by clas,name

Select * from tab1 left join tab2 on tab1.name=tab2.name and tab1.clas=tab2.clas

И тут получаю данные только для левой таблицы и колонки для правой, но с пустыми значениями. Меняю Left на Right и все наоборот получается....

P.S. запросы на Access SQL

Вернуться к началу