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

Запрос предка и потомка   Найти похожие ветки 

← →
YurikGl ©   (2004-04-06 13:14) [0]

Что-то туплю уже сутра.
Если упростить задачу то:
Есть две таблицы

Люди      Родственные связи
ID        IdРодитель
Имя       IdРебенок

Как составить таблицу, состоящую из четырех полей IdРодителя,ИмяРодителя,IdРебенка,ИмяРебенка?

Select .....?


← →
Digitman ©   (2004-04-06 13:30) [1]

SELECT Links.ParentId, People.Name, Links.ChildId, Children.Name
FROM (Links INNER JOIN People ON Links.ParentId = People.Id) INNER JOIN People AS Children ON Links.ChildId = Children.Id
ORDER BY Links.ParentId;


← →
YurikGl ©   (2004-04-06 20:53) [2]

Придумал проще
select
Links.ParentId, People.Name, Links.ChildId, People2.Name
from People, Link, People People2,
Where Link.idParent=People.idPeople and Link.IdChild=People2.IdPeople


← →
ЮЮ ©   (2004-04-07 03:01) [3]

>Придумал проще

Так бездетных потеряешь.

З.Ы. сам z предпочитаю не соединять в WHERE условия связи таблиц и условия отбора записей: и нагляднее и связь не упустишь:

SELECT
FROM
 People
 LEFT JOIN Link ON Link.idParent=People.idPeople
 LEFT JOIN People People2 ON Link.IdChild=People2.IdPeople
WHERE
 ...


← →
YurikGl ©   (2004-04-07 09:04) [4]

В моем случае бездетные не нужны.
Заметил такой глюк в IB (в Access все OK)

Если упростить то будет следующее

Если
from  Link, People People2,People
то работает
если
from  Link,P eople, People People2
то нет.

Интересно, почему?


← →
ЮЮ ©   (2004-04-08 02:48) [5]

>Интересно, почему?

Что значит не работает?



Страницы: 1 вся ветка

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



Память: 0.46 MB
Время: 0.022 c
14-1081579363
Алхимик
2004-04-10 10:42
2004.05.02
Профессиональная деформация


1-1081843114
Yurec66
2004-04-13 11:58
2004.05.02
Совместная работа TAnimate и TProgressBar


4-1078402242
kentavr
2004-03-04 15:10
2004.05.02
TRAY


3-1081177027
YurikGl
2004-04-05 18:57
2004.05.02
Триггеры в IB


1-1081938543
V-Isa
2004-04-14 14:29
2004.05.02
Запретить закрытие формы.




   Наверх