![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите с Select [D7, Paradox]
SVA © (2003-03-11 09:48:00)Здравствуйте. Помогите пожалуйста начинающему. Зарание прошу прощения за такое размусоливание.
Имеется база 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 в результат запроса не попадают.
Anatoly Podgoretsky (2003-03-11 10:34:00) [1]Вот твоя основная задача на текущий момент, не запросы писать, а разобраться с SQL, в частности с LEFT JOIN
Соловьев (2003-03-11 10:34:00) [2]
> SVA (11.03.03 10:29)
> > Соловьев
> Проблема в том, что словосочетание LEFT JOIN мне ни о чем
> не говорит (к сожалению).
Действительно жаль... При этом соединении выбираются все записи из первой таблицы и те из второй которые совпадают по ключевому полю:
select table1.*, table2.*
from table1 left join table 2 on table1.id=table2.id
> В смысле? Если можно - поконкретней.
В смысле проанлизируй условие сам без машины...
SVA (2003-03-11 10:29:00) [3]> Соловьев
Проблема в том, что словосочетание LEFT JOIN мне ни о чем не говорит (к сожалению).
>Или посморти внимательно на условие в WHERE
В смысле? Если можно - поконкретней.
Fiend (2003-03-11 10:23:00) [4]То SVA:
LEFT JOIN или правый, как запрос напишешь
Соловьев (2003-03-11 10:23:00) [5]Делай как советует
> Johnmen © (11.03.03 09:57)
Или посморти внимательно на условие в WHERE
SVA (2003-03-11 10:21:00) [6]>Соловьев
при использовании "and Table1.Table2_ID is NULL and Table1.Table3ID is NULL" - не все записи попадают в результат запроса, а при использовании "or Table1.Table2_ID is NULL or Table1.Table3ID is NULL" попадают записи не имеющие смысла, т.е. образовавшиеся при соединении таблиц.
Johnmen (2003-03-11 09:57:00) [7]LEFT JOIN тебе в помощь...:)
Соловьев (2003-03-11 09:56:00) [8]or Table1.Table2_ID is NULL or Table1.Table3ID is NULL
Соловьев (2003-03-11 09:53:00) [9]
> 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