Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.22;
Скачать: CL | DM;

Вниз

SQL   Найти похожие ветки 

 
Bilfeld   (2002-07-31 09:42) [0]

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


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

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


 
fnatali ©   (2002-07-31 10:08) [2]

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


 
ЮЮ   (2002-07-31 10:10) [3]

Ознакомься с 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:11) [4]

Поправлюсь
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:21) [5]

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




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

Да, если у тебя 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



 
VAleksey ©   (2002-07-31 10:48) [7]

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


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

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


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

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


 
VAleksey ©   (2002-07-31 11:20) [10]


>
> ЮЮ (31.07.02 11:00)

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


 
VAleksey ©   (2002-07-31 11:23) [11]

> ЮЮ. Хоть бы свои координаты вписывал.
Припоиске выдает только
Reserved words и
Unsupported language
???




 
ЮЮ   (2002-07-31 11:32) [12]

Ха-ха-ха-ха-ха-ха !!!!!!!!!!
Не смешите меня !!!!!!!!!!!!!!!


 
ЮЮ   (2002-07-31 11:33) [13]

>Хоть бы свои координаты вписывал.
Какие и куда?
>Припоиске выдает только
Reserved words и
Unsupported language

При поиске в Local SQL Help?
По VIEWs выдает:
Data manipulation language overview
INSERT statement
Local SQL VIEWs (то что надо)
SELECT statement




 
ЮЮ   (2002-07-31 11:35) [14]

>Ха-ха-ха-ха-ха-ха !!!!!!!!!!
>Не смешите меня !!!!!!!!!!!!!!!

А это что, моя виртуальная тень, или второя я? Тогда подписывайся ЯЯ :-)


 
ЮЮ   (2002-07-31 11:41) [15]

Ты (то есть Я) развоился ! А я - твоя темная сторона ! Я буду пакостить от твоего имени !!!


 
ЮЮ   (2002-07-31 11:44) [16]

Желаю успеха. Сегодня я уже раза 4 "Большое спасибо" получил и ухожу, а ты действуй-злодействуй :-)


 
iva ©   (2002-07-31 12:00) [17]

ЮЮ(светлый), у меня тоже не получилось, хотя в HElp нашел, сделал как там написано, но получил "Operation not applicable".


 
Lusha ©   (2002-07-31 12:13) [18]

Действительно работает...


 
ЮЮ   (2002-07-31 12:19) [19]

Посмотри какие у тебя компоненты BDE - у меня от D6 (от 11.05.2001 3:00)


 
iva ©   (2002-07-31 12:21) [20]

а как (ult) посмотреть?


 
iva ©   (2002-07-31 12:21) [21]

а как (где) посмотреть?


 
ЮЮ   (2002-07-31 12:25) [22]

.../BDE/
дата изменения bdeadmin.exe и всяких там dll


 
iva ©   (2002-07-31 12:26) [23]

даты bdeAdmin и большинства *.dll та-же,что у тебя 11.05.2001


 
iva ©   (2002-07-31 12:30) [24]

благодарю за внимание, у меня тоже сработало.


 
ЮЮ   (2002-07-31 12:33) [25]

>ЮЮ (31.07.02 11:44)
>Желаю успеха. Сегодня я уже раза 4 "Большое спасибо" получил и >ухожу, а ты действуй-злодействуй :-)

Получил полное моральное удовлетворение ?
А я то думал ты людям помочь хотел, а ты просто тешил свое самолюбие ! И чем ты тогда отличаешься от меня ?


 
ЮЮ   (2002-07-31 12:41) [26]

Вот уже и в пятый раз кому-то помог. Тем и отличаюсь :-))


 
ЮЮ   (2002-07-31 12:47) [27]

2 ЮЮ (31.07.02 12:41)

В пятый раз потешил свое самолюбие.


 
ЮЮ   (2002-07-31 12:52) [28]

Изыди, нечистая !!! :-))


 
ЮЮ   (2002-07-31 12:56) [29]

Если хочешь от меня избавиться - регистрируйся ! Народ хочет знать своих героев ! Особенно тех, кто много и правильно отвечает !


 
ЮЮ(темный)   (2002-07-31 13:09) [30]

Молодец ! Я растворяюсь навсегда ! Прощай !
И будь поскромнее !



Страницы: 1 вся ветка

Текущий архив: 2002.08.22;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.013 c
1-71127
Mars
2002-08-13 10:47
2002.08.22
Можно ли в MessageDlg писать русские заголовки?


14-71321
jessis
2002-07-26 15:22
2002.08.22
Компиляция


3-71041
Nikolai_S
2002-07-31 15:29
2002.08.22
Как отменить выполнение SQL-запроса (SELECT) во время выполнения?


8-71264
SPeller
2002-04-14 06:59
2002.08.22
Опять JPEG


1-71129
SemFLY
2002-08-09 14:55
2002.08.22
Как лучше сделать ?