Вниз
Скачать: CL | DM;

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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
6-88099
Ундервуд
2003-02-04 12:50
2003.03.27
Обмен сообщениями из локалки в и-нет


3-87831
Ya_andrei
2003-03-10 09:39
2003.03.27
Подскажите пожалуйста почему у меня при использование Table1.Inse


3-87799
Atamali Mamedov
2003-03-06 15:18
2003.03.27
ORA-00600


14-88238
Думкин
2003-03-12 06:35
2003.03.27
О начальстве


14-88178
Алексей К
2003-03-10 19:41
2003.03.27
Внешний вид DBGrid




   Наверх