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

Вниз

Повторное использование данных SQL запроса   Найти похожие ветки 

 
viper03 ©   (2007-01-22 05:25) [0]

Подскажите, как датасет возвращаемый запросом использовать в других запросах?
Есть 3 таблицы: Товар, Остаток, Цена.
Товар содержит поля ID, Descr.
Остаток - ID, kolvo; И цена - ID, Tsena.
формирую запрос:
select * from tovar
where id=чего-то-там

и теперь этот запрос я хочу использовать по другим таблицам:
select id, descr, kolvo
from ostatok, <первый_запрос>
where ostatok.id=первый_запрос.id

Можно это как-нибудь реализовать?


 
Sergey13 ©   (2007-01-22 08:33) [1]

> [0] viper03 ©   (22.01.07 05:25)

Возвращенный датасет в другом запросе использовать нельзя. Текст первого запроса можно (желательно с переработками) использовать в тексте другого запроса.
Например (есть и другие варианты)

select id, descr, kolvo
from ostatok
where ostatok.id in (select id from tovar where id=чего-то-там)


 
viper03 ©   (2007-01-22 08:51) [2]

так вот так и приходится делать...
но текст запроса получается с такими вложениями ... хоть и пытаюсь комментировать по мере возможности, но все равно спустя время разобраться для чего это нужно достаточно проблематично..
вот я и подумал: может можно код сделать более читабельным...


 
Sergey13 ©   (2007-01-22 09:04) [3]

> [2] viper03 ©   (22.01.07 08:51)

В некоторых СУБД есть такие штуки как представления (вьюхи) и хранимые процедуры, которые можно использовать, в том числе, и для повторного использования кода.


 
Johnmen ©   (2007-01-22 11:24) [4]

Неплохо бы чего-нибудь по SQL почитать. Про соединение таблиц, например...



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

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

Наверх




Память: 0.47 MB
Время: 0.045 c
2-1169540039
cvg
2007-01-23 11:13
2007.02.11
откуда взять описание типа TidIcmpClient?


15-1168902926
Германн
2007-01-16 02:15
2007.02.11
Чёрт бы побрал их всех!


15-1169120417
Gorlum
2007-01-18 14:40
2007.02.11
Список богов


2-1169454043
БТ
2007-01-22 11:20
2007.02.11
что означает ошибка [Error] Account_Pay.pas(87): Missing operato


1-1166611676
_ozzy_
2006-12-20 13:47
2007.02.11
Как запретить подтверждение на замену(удаление) Windows?