Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Вниз

Как в IB зделать select на select 


ol   (2002-03-26 12:50) [0]

Подскажите
пишу под ОРАКл:
select q,w
from(
select q,w
from table1
union all
select q,w
from table2)
Все работает пробую то же самое под интербейс ошибка
Так че он в принципе не позволяет этого сделать или я че то не так делаю



Johnmen   (2002-03-26 13:00) [1]

В принципе...
Используй просмотры...



ol   (2002-03-26 13:05) [2]

>В принципе...
>Используй просмотры...
это в смысле еа сервере вьюшки писать?



Johnmen   (2002-03-26 13:11) [3]

да-да...



asafr   (2002-03-26 13:30) [4]

Да, конечно... Оракл-овский диалект не знаю - посему запрос для меня выглядит как-то ненормально... Объясните мне, чем
select q,w from(
select q,w
from table1
union all
select q,w
from table2)

отличается от
select q,w
from table1
union all
select q,w
from table2

Если я что-то разобрал, то это должно быть идентично... Или это что-то наподобии Left Join, Right Join, но по Оракл-овски? Просто интересно...



ol   (2002-03-26 13:45) [5]

ну это я схематично показал, под оракл ворочу иногда в три этажа
задача такая есть два товара с разными кодами, две таблицы в одной приход в другой расход
в первую заносится закуп. цена во вторую продажная
связываю эти две таблицы по коду товара и от продажной цены отнимаю закупочную таким образом получаю прибыль
теперь мне нужно получить сумарную прибыль по всем товарам, как?
в оракле я на вышеописанный селект на накатывал еще один типа
select sum(q)
from(
вышеописанный)
и все было окей



fnatali   (2002-03-26 13:54) [6]

Я для таких целей в IB использую Stored Proc.
select sum(q) from nameSP
А в хранимой процедуре сделать нужную выборку



Yuvich   (2002-03-26 14:48) [7]

> ol
Нужно посмотреть документацию, поддерживает ли IB inline view, если поддерживает, то твоя конструкция должна работать, если нет - то можно сделать статичный view - тот самый внутренний селект с union.

Можно попробовать коррелируемый запрос типа select q, (select w from ...) from ... , но он не будет работать в оракле.



ol   (2002-03-26 15:03) [8]

вообщем нарисовал вьюшку, конечно не так удобно как в оракле но жить можно :-)



asafr   (2002-03-26 15:30) [9]

select Table1.q, Sum(Table1.w-Table2.w) from Table1, Table2
where Table1.q=Table2.q
group by Table1.q
Так не пробовал?



Johnmen   (2002-03-26 15:56) [10]

>asafr © : так получается полное соединение, и как следствие - абсолютно не тот результат, который ожидается !




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.15;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.02 c
1-46451           ded_di                2002-04-02 15:08  2002.04.15  
richedit


14-46487          Alexandr              2002-03-06 14:04  2002.04.15  
Знак


3-46255           @andrew               2002-03-20 12:42  2002.04.15  
Привет Всем! Как бороться с ошибкой.


1-46429           konusov               2002-04-02 23:33  2002.04.15  
Как в delphi сделать невидимым приложение на панели задач?


1-46372           Biorobot              2002-04-01 18:29  2002.04.15  
Как програмно отключить монитор?