Форум: "Базы";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
ВнизПомогите Найти похожие ветки
← →
adolf_99 (2002-11-28 12:51) [0]Есть две таблицы в SQL в одной суммы до 31,10,02 в другой с 01,11,02 если надо посчитать сумму с 01,10,02 (поле sum1)до 10,11,02 (поле sum2) используя в запросе команду union all
дельфя берет только значение из одной таблицы из второй не хочет.
В самом SQL этот запрос работает отлично.
← →
Johnmen (2002-11-28 12:54) [1]Дельфя ничего ни откуда не берет !!!
Берешь ты, своими запросами, которые м.б.некорректны...
Посему приводи их вид...
← →
adolf_99 (2002-11-28 12:59) [2]Вот весь запрос
select (sum (plpa.bpl_sum)) as sum
from plpa
where
plpa.bpl_dat_od>="2002-10-31" and plpa.bpl_a_nanc="1002" and plpa.bpl_b_nanc="2902"
and plpa.bpl_b_key="4" and plpa.bpl_b_an="127003" and plpa.bpl_b_as="302"
and plpa.bpl_dat_od<="2002-11-11" and plpa.bpl_pr_pr="r"
union all
select (sum (plpb.bpl_sum)) as sum1
from plpb
where
plpb.bpl_dat_od>="2002-10-31" and plpb.bpl_a_nanc="1002" and
plpb.bpl_b_nanc="2902" and plpb.bpl_b_key="4" and
plpb.bpl_b_an="127003" and plpb.bpl_b_as="302" and plpb.bpl_pr_pr="r"
and plpb.bpl_dat_od<="2002-11-11"
← →
Johnmen (2002-11-28 13:01) [3]...as sum1...
union all
...as sum1...
← →
adolf_99 (2002-11-28 13:10) [4]пробовал он берет значение только таблицы plpa , а plpb он как-бы вообще не видит
← →
Johnmen (2002-11-28 13:19) [5]Возможно, нет записей в plpb, удовлетворяющих условию...
← →
adolf_99 (2002-11-28 13:23) [6]часть записей в plpa часть plpb
← →
Prooksius (2002-11-28 13:41) [7]А эти 2 запроса отдельно друг от друга работают?
...подожди, у тебя же вроде в результате этого запроса получается 2 строчки с суммами по а и б. А ты используешь полько 1-ю строчку. Так?
← →
adolf_99 (2002-11-28 13:50) [8]В программе я использую две строчки.
Они работают по одному в программе.
В SQL он работает в сборе.
← →
Prooksius (2002-11-28 14:12) [9]2adolf_99 © (28.11.02 13:50)
Вот счас проверил...
select sum(...) as sum from Table1
union all
select sum(...) as sum1 from Table2
этот запрос выдает 2 записи - 1-я сумма по 1-й таблице, 2-я сумма по 2-й.
← →
adolf_99 (2002-11-28 15:04) [10]Prooksius © Большое спасибо увидил что, там две строчки,
а не два столбца
← →
passm (2002-11-28 15:16) [11]А если так:
select (sum (plpa.bpl_sum) + sum (plpb.bpl_sum)) as sum1
from plpa,
plpb
where
(plpa.bpl_dat_od>="2002-10-31" and plpa.bpl_a_nanc="1002" and plpa.bpl_b_nanc="2902"
and plpa.bpl_b_key="4" and plpa.bpl_b_an="127003" and plpa.bpl_b_as="302"
and plpa.bpl_dat_od<="2002-11-11" and plpa.bpl_pr_pr="r")
and
(plpb.bpl_dat_od>="2002-10-31" and plpb.bpl_a_nanc="1002" and
plpb.bpl_b_nanc="2902" and plpb.bpl_b_key="4" and
plpb.bpl_b_an="127003" and plpb.bpl_b_as="302" and plpb.bpl_pr_pr="r"
and plpb.bpl_dat_od<="2002-11-11")
← →
passm (2002-11-28 15:22) [12]Пардон, если plpa или plpb будет пусто, то вернет NULL.
← →
passm (2002-11-28 15:34) [13]Еще пардон, запросы не эквивалентны. Малость поторопился...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c