![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запрос предка и потомка
YurikGl © (2004-04-06 13:14:00)Что-то туплю уже сутра.
Если упростить задачу то:
Есть две таблицы
Люди Родственные связи
ID IdРодитель
Имя IdРебенок
Как составить таблицу, состоящую из четырех полей IdРодителя,ИмяРодителя,IdРебенка,ИмяРебенка?
Select .....?
ЮЮ (2004-04-08 02:48:00) [1]>Интересно, почему?
Что значит не работает?
YurikGl (2004-04-07 09:04:00) [2]В моем случае бездетные не нужны.
Заметил такой глюк в IB (в Access все OK)
Если упростить то будет следующее
Если
from Link, People People2,People
то работает
если
from Link,P eople, People People2
то нет.
Интересно, почему?
ЮЮ (2004-04-07 03:01:00) [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-06 20:53:00) [4]Придумал проще
select
Links.ParentId, People.Name, Links.ChildId, People2.Name
from People, Link, People People2,
Where Link.idParent=People.idPeople and Link.IdChild=People2.IdPeople
Digitman (2004-04-06 13:30:00) [5]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;