Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
ВнизПомогите с Select Найти похожие ветки
← →
SVA (2003-03-11 09:48) [0]Здравствуйте. Помогите пожалуйста начинающему. Зарание прошу прощения за такое размусоливание.
Имеется база Paradox с таблицами:
Table1(ID, Table2_ID, Table3_ID), Table2(ID, Name2), Table3(ID, Name3).
Необходимо выбрать Table1.ID, Tble2.Name2, Table3.Name3 для каждой записи из Table1.
Делаю запрос:
Select ID, Name2, Name3 from Table1, Table2, Table3
where Table1.Table2_ID = Table2.ID
and Table1.Table3ID = Table3.ID
Но вот вчем проблема: те записи в Table1 в полях Table2_ID или Table3_ID которых стоят значения NULL в результат запроса не попадают.
← →
Соловьев (2003-03-11 09:53) [1]
> Select ID, Name2, Name3 from Table1, Table2, Table3
> where Table1.Table2_ID = Table2.ID
> and Table1.Table3ID = Table3.ID
and Table1.Table2_ID is NULL and Table1.Table3ID is NULL
← →
Соловьев (2003-03-11 09:56) [2]or Table1.Table2_ID is NULL or Table1.Table3ID is NULL
← →
Johnmen (2003-03-11 09:57) [3]LEFT JOIN тебе в помощь...:)
← →
SVA (2003-03-11 10:21) [4]>Соловьев
при использовании "and Table1.Table2_ID is NULL and Table1.Table3ID is NULL" - не все записи попадают в результат запроса, а при использовании "or Table1.Table2_ID is NULL or Table1.Table3ID is NULL" попадают записи не имеющие смысла, т.е. образовавшиеся при соединении таблиц.
← →
Fiend (2003-03-11 10:23) [5]То SVA:
LEFT JOIN или правый, как запрос напишешь
← →
Соловьев (2003-03-11 10:23) [6]Делай как советует
> Johnmen © (11.03.03 09:57)
Или посморти внимательно на условие в WHERE
← →
SVA (2003-03-11 10:29) [7]> Соловьев
Проблема в том, что словосочетание LEFT JOIN мне ни о чем не говорит (к сожалению).
>Или посморти внимательно на условие в WHERE
В смысле? Если можно - поконкретней.
← →
Anatoly Podgoretsky (2003-03-11 10:34) [8]Вот твоя основная задача на текущий момент, не запросы писать, а разобраться с SQL, в частности с LEFT JOIN
← →
Соловьев (2003-03-11 10:34) [9]
> SVA (11.03.03 10:29)
> > Соловьев
> Проблема в том, что словосочетание LEFT JOIN мне ни о чем
> не говорит (к сожалению).
Действительно жаль... При этом соединении выбираются все записи из первой таблицы и те из второй которые совпадают по ключевому полю:
select table1.*, table2.*
from table1 left join table 2 on table1.id=table2.id
> В смысле? Если можно - поконкретней.
В смысле проанлизируй условие сам без машины...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c