Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.29;
Скачать: CL | DM;

Вниз

Как сделать такой запрос?   Найти похожие ветки 

 
Карелин Артем ©   (2004-02-03 13:25) [0]

Хочу значит переделать хранимую процедуру в запрос.
Смысл такой: идет цикл For select для главной таблицы, внутри которого идет запрос select first(1) из подчиненной таблицы.
Как сделать джойн, который выведет одну таблицу и к каждой записи добавит первую (по заданному порядку сортировки разумеется) запись из дочерней таблицы. А если дочерних записей нет, то Null на этом месте.


 
Sandman25 ©   (2004-02-03 13:28) [1]

select ...
from main,
secondary s1
where main.id = s1.id // связь
and not exists
(select 1
from secondary s2
where s2.id = main.id // связь
and s2.field < s1.field // сортировка
)


 
Sandman25 ©   (2004-02-03 13:28) [2]

Если нужны и NULL, то переделать на left join


 
Johnmen ©   (2004-02-03 13:58) [3]

>Карелин Артем ©

Смысл получения 1 записи неясен... Есть ли критерий того, что эта первая запись именно та, которая нужна ?
Если есть (а иначе это бессмысленно), то этот критерий можно отобразить в where при соединении таблиц.


 
Карелин Артем ©   (2004-02-03 14:08) [4]

Johnmen © (03.02.04 13:58) [3]
Это будет первая при определенном порядке сортировки. Ну и завязаны по ключам таблицы.


 
Johnmen ©   (2004-02-03 14:11) [5]

>Карелин Артем ©
>Это будет первая при определенном порядке сортировки

А значит можно использовать агрегатные ф-ии типа MIN/MAX. Вместо first...
:)


 
Карелин Артем ©   (2004-02-03 14:15) [6]

Johnmen © (03.02.04 14:11) [5]
Действительно. Как-то не приходила мысля использовать Max по отнешению к датам(у меня даты в order by). А зря.



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

Текущий архив: 2004.02.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.031 c
6-94064
gep
2003-12-24 05:55
2004.02.29
Прямое кабельное соединение


1-93865
revo
2004-02-16 14:36
2004.02.29
Как отследить двойной щелчок по TShape?


14-94135
SergP
2004-02-07 20:43
2004.02.29
Нужен компонент типа DBGrid.


6-94082
antoncom
2003-12-21 14:15
2004.02.29
Здравствуйте. Подскажите как отправить информацию из моей програм


1-94025
DelphiN!
2004-02-09 21:21
2004.02.29
Ошибка при перехвате ввода с клавиатуры в 9x