Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите с 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо