![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как в IB зделать select на select [D6, IB6.x, Oracle]
ol © (2002-03-26 12:50:00)Подскажите
пишу под ОРАКл:
select q,w
from(
select q,w
from table1
union all
select q,w
from table2)
Все работает пробую то же самое под интербейс ошибка
Так че он в принципе не позволяет этого сделать или я че то не так делаю
Johnmen (2002-03-26 15:56:00) [1]>asafr © : так получается полное соединение, и как следствие - абсолютно не тот результат, который ожидается !
asafr (2002-03-26 15:30:00) [2]select Table1.q, Sum(Table1.w-Table2.w) from Table1, Table2
where Table1.q=Table2.q
group by Table1.q
Так не пробовал?
ol (2002-03-26 15:03:00) [3]вообщем нарисовал вьюшку, конечно не так удобно как в оракле но жить можно :-)
Yuvich (2002-03-26 14:48:00) [4]> ol
Нужно посмотреть документацию, поддерживает ли IB inline view, если поддерживает, то твоя конструкция должна работать, если нет - то можно сделать статичный view - тот самый внутренний селект с union.
Можно попробовать коррелируемый запрос типа select q, (select w from ...) from ... , но он не будет работать в оракле.
fnatali (2002-03-26 13:54:00) [5]Я для таких целей в IB использую Stored Proc.
select sum(q) from nameSP
А в хранимой процедуре сделать нужную выборку
ol (2002-03-26 13:45:00) [6]ну это я схематично показал, под оракл ворочу иногда в три этажа
задача такая есть два товара с разными кодами, две таблицы в одной приход в другой расход
в первую заносится закуп. цена во вторую продажная
связываю эти две таблицы по коду товара и от продажной цены отнимаю закупочную таким образом получаю прибыль
теперь мне нужно получить сумарную прибыль по всем товарам, как?
в оракле я на вышеописанный селект на накатывал еще один типа
select sum(q)
from(
вышеописанный)
и все было окей
asafr (2002-03-26 13:30:00) [7]Да, конечно... Оракл-овский диалект не знаю - посему запрос для меня выглядит как-то ненормально... Объясните мне, чем
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, но по Оракл-овски? Просто интересно...
Johnmen (2002-03-26 13:11:00) [8]да-да...
ol (2002-03-26 13:05:00) [9]>В принципе...
>Используй просмотры...
это в смысле еа сервере вьюшки писать?
Johnmen (2002-03-26 13:00:00) [10]В принципе...
Используй просмотры...