Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL


Страницы:   1 2

Bilfeld ©   (2002-07-31 09:42:00) 

Помогите! Бьюсь уже давно, не получается
Имеем две базы P(приход), R (расход) с аналогичными полями Name (символьное) и S (числовое)
В базе P может быть:
Иванов 7
Петров 8
Иванов 10
Иванов 8
Сидоров 9
В базе R может быть
Петров 4
Иванов 2
Иванов 3
Петров 2
Козлов 3
Необходимо написать запрос (без представления)чтобы получить сальдо, т.е.
Иванов 20
Петров 2
Сидоров 9
Козлов -3


VAleksey   (2002-07-31 11:20:00) [21]


>
> ЮЮ (31.07.02 11:00)

Раздел не найден.
Неужели работает ?


ЮЮ   (2002-07-31 11:00:00) [22]

И почитай раздел VIEWs в Local SQL Help :-) Я сам был поражён, т.к. в те времена, когда писал под Paradox не мог использовать "нормальные" запросы, а ларчик-то просто открывался :-)


ЮЮ   (2002-07-31 10:56:00) [23]

Я не имею привычки отправлять непроверенные заключения :-)
Проверь на любой Paradox-таблице


VAleksey   (2002-07-31 10:48:00) [24]

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


ЮЮ   (2002-07-31 10:36:00) [25]

Да, если у тебя Paradox, то он не поддерживает подзапросы.
Но если ты используешь BDE, тогда запрос будет:
select Name,sum(S) from PandR.sql group by Name
где в файле "PandR.sql" будет лежать подзапрос:
select Name,S from P
union
select Name,-S from R


ЮЮ   (2002-07-31 10:21:00) [26]

to fnatali
p full outer join r даст N1 х N2 строк, т.е.
Иванов 7 2
Иванов 7 3
Иванов 8 2
Иванов 8 3
Иванов 10 2
Иванов 10 3
Вряд ли сальдо здесь сойдётся :-)



fnatali   (2002-07-31 10:11:00) [27]

Поправлюсь
select p.name, sum(p.s)-sum(r.s) saldo from p full outer join r on p.name=r.name
group by p.name
и по желанию добавить order by


ЮЮ   (2002-07-31 10:10:00) [28]

Ознакомься с group by и union, и столько биться не прийдётся :-)


select Name,sum(S) from
(select Name,S from P
union
select Name,-S from R
) PandR
group by Name


fnatali   (2002-07-31 10:08:00) [29]

select p.name, sum(p.s)-sum(r.s) saldo from p full outer join r on p.name=r.name
В зависимости от используемого типа СУБД синтаксис запроса может несколько измениться, Н.В. :)


IlyaA   (2002-07-31 10:03:00) [30]

а что такое сальдо. Мы тут компьютерщики, а не бухгалтеры. Я знаю, что надо что-то сложить, откуда-то вычесть и т.п.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо