не могу додумать SQL запрос

gorlan
Дата: 18.10.2006 09:36:28
вообщем нужно построить SQL запрос, а я не могу додумать
один запрос из таблицы

select number, price_out, skidka
from rashod
where skidka<>0
order by number

и второй

select number, price_out
from prihod...

вообщем есть две таблицы приход и расход
нужно их как то объеденить чтоб по запросу первому находилось номер, выходная цена, скидка из расхода

и по этому найденному в расходе номеру выдавались значения выходной цены в приходе
и загонялись в один Query

типа чтоб выглядел
Number skidka price_out.rashod price_out.prihod

как сделать не знаю подскажите плз))))
Куликов Алексей
Дата: 18.10.2006 09:54:59
На мой взгляд будет что-то типа этого:
select r1.number, r1.price_out, r1.skidka,
         (select p1.price_out from prihod where p1.number = r1.number)
from rashod r1
where skidka<>0
order by number

Но всёже это форум по программированию на Delphi, с такими вопросами вам к соседям :)
Spl@sH
Дата: 18.10.2006 09:55:34
а связь по полю number?
если да, используй join
select r.number, skidka, r.price_out, p.price_out
from rashod r
join prihod p on p.number=r.number
where skidka<>0
order by r.number
Куликов Алексей
Дата: 18.10.2006 09:56:25
Убедительная просьба пользоваться тегом SRC (это такая кнопочка сверху почти по центру)...
Shr
Дата: 18.10.2006 10:02:56
2 Spl@sH:
Так можно делать только если точно известно, что на один приход призодится один расход. Мое имхо, в общем случае:
select number, sum(p1) prihod, sum(skidka) skidka, sum(p2) rashod
from (
  select number, sum(price_out) p1, sum(skidka) skidka, cast(0 as number) p2
  from rashod
  where skidka <> 0
  group by number

  union all

  select number, cast(0 as number), cast(0 as number), sum(price_out)
  from rashod
  group by number
)
group by number
gorlan
Дата: 18.10.2006 11:36:13
вообщем номер он уникален и одному номеру в расходе соответствует один номер в приходе, так что попробую то что вы мне подсказали.
gorlan
Дата: 19.10.2006 06:18:36
спасибо написал все работает)))