Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вложенные подзапросы 
:(
    Опции темы
qwe113
Дата 24.7.2007, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Мне необходимо сделать переход с MySQL на Paradox. Как известно, парадокс не держит вложенные подзапросы. 
Как мне реализовать эти самые вложенные подзапросы? Какие приемы посоветуете? Если говорить более конкретно, то мне необходимо определить разность сумм полей из разных таблиц для одного и того же человека.
PM MAIL   Вверх
ТоляМБА
Дата 24.7.2007, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Цитата(qwe113 @  24.7.2007,  08:13 Найти цитируемый пост)
из разных таблиц для одного и того же человека
А что для этого разве JOIN не подойдёт? Структуру в студию!
PM   Вверх
qwe113
Дата 24.7.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Да структура проще некуда. Естть две таблицы:
Dezhurstva, со след полями: ID, FIO, Date, Type, Bonus
Otgul, с полями: ID, FIO, Date, Prod.
Нужно получить отдельными полями суммы полей Bonus и Prod, а также разность между этими суммами.  Это надо вычислить для конкретного человека.
На MySQL прекрасно работал такой запрос: 
Format('select sum(bonus) as "Zar", (select sum(prod) from otgul where fio="%s") as "Izr", sum(bonus)-(select sum(prod) from otgul where fio="%s") As "Ost" from dezhurstva where fio="%s"',[DBEdit1.Text,DBEdit1.Text,DBEdit1.Text]);
На Paradox работать отказывается.
PM MAIL   Вверх
ТоляМБА
Дата 25.7.2007, 06:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: нет
Всего: 252



Цитата(qwe113 @  24.7.2007,  14:26 Найти цитируемый пост)
'select sum(bonus) as "Zar", (select sum(prod) from otgul where fio="%s") as "Izr", sum(bonus)-(select sum(prod) from otgul where fio="%s") As "Ost" from dezhurstva where fio="%s"'


Код
Select sum(Dezhurstva.bonus) as "Zar",  sum(Otgul.prod), sum(Dezhurstva.bonus) - sum(Otgul.prod) as "Razn"
from Dezhurstva
inner join Otgul
on Dezhurstva.FIO=Otgul.FIO
where Dezhurstva.FIO="%s"

Так покатит?
PM   Вверх
qwe113
Дата 25.7.2007, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 7.11.2006

Репутация: нет
Всего: нет



Неа, не катит.  Invalid use of keyword. Token: ,
PM MAIL   Вверх
skyboy
Дата 25.7.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



вложенные подзапросы поддерживает. но через одно место. вложенный запрос выносишь в отдельный файл с расширением sql и указываешь его как источник во FROM. только лучше обойтись join'ами, а то утратишь гибкость - файл менять это не параметр другой поставить.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие СУБД | Следующая тема »


 




[ Время генерации скрипта: 0.0507 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.