Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Вниз

Sql запрос   Найти похожие ветки 

 
Kley   (2006-09-10 20:13) [0]

помогите плиз с sql запросом. Есть две таблицы receive.db и Numdoc.db связанные между собой один ко многим по полям receive.nom
и numdoc.nom (одной записи из табл receive соответствует несколько записей из табл.numdoc).
Делаю так:
SELECT DISTINCT AA.nom,
BB.num as "АДВ-6",
"" as"АДВ-10"
FROM RECEIVE AA,  NUMDOC BB
where  AA.NOM=BB.NOM and bb.kodfdoc=8 and aa.raion=12
union
SELECT DISTINCT AA.nom,
"" as "АДВ-6",
BB.num as"АДВ-10"
FROM RECEIVE AA,  NUMDOC BB
where  AA.NOM=BB.NOM and bb.kodfdoc=31 and aa.raion=12
ПОЛУЧАЕТСЯ СЛЕДУЮЩЕЕ:
_______________________
|Nom  |АДВ-6  | АДВ-10 |
------------------------
|41037|   1   |        |
------------------------  
|41037|       |    1   |
------------------------

А НУЖНО ЧТОБЫ БЫЛО ТАК:

|Nom  |АДВ-6  | АДВ-10 |
------------------------
|41037|   1   |    1   |
------------------------  
КАК СДЕЛАТЬ?


 
VitGun ©   (2006-09-10 20:21) [1]

ИМХО:

GROUP BY AA.Nom

и не забудь добавить SUM(BB.Nom)


 
Kley   (2006-09-10 20:44) [2]

[1]
ты имеешь ввиду так?
SELECT DISTINCT
AA.nom,
sum (bb.nom),
BB.num as "АДВ-6",
"" as"АДВ-10"
FROM RECEIVE AA,  NUMDOC BB
where  AA.NOM=BB.NOM and bb.kodfdoc=8 and aa.raion=12
group by aa.nom,bb.num
union
SELECT DISTINCT AA.nom,
sum (bb.nom),
"" as "АДВ-6",
BB.num as"АДВ-10"
FROM RECEIVE AA,  NUMDOC BB
where  AA.NOM=BB.NOM and bb.kodfdoc=31 and aa.raion=12
group by aa.nom,bb.num
тоже самое получается. не пойму для чего Sum (bb.nom)


 
VitGun ©   (2006-09-10 23:10) [3]

нет.

не GROUP BY aa.nom,bb.nom, а

GROUP BY aa.nom

т.е тебе сгруппировать записи надо по одному только полю.

а sum нужен для суммирования значений...

а то в выборке будет вот так:

|Nom  |АДВ-6  | АДВ-10 |
------------------------
|41037|   1   |        |
------------------------  
|41037|       |    1   |
------------------------  
|41037|   1   |        |
------------------------

и с GROUP BY получишь

|Nom  |АДВ-6  | АДВ-10 |
------------------------
|41037|   1      |    1   |
------------------------

а должно быть

|Nom  |АДВ-6  | АДВ-10 |
------------------------
|41037|   2      |    1   |
------------------------



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

Форум: "Базы";
Текущий архив: 2006.11.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.11 c
15-1161225001
Slider007
2006-10-19 06:30
2006.11.05
С днем рождения ! 19 октября


1-1159008685
DelphiLamer
2006-09-23 14:51
2006.11.05
Как получить список всех процедур в библиотеке?


15-1160414992
Kolan
2006-10-09 21:29
2006.11.05
А что это mail.ru падать вздумал?


15-1161150847
En -> Ru -> En
2006-10-18 09:54
2006.11.05
Что означают эти символы


15-1160580008
Ломброзо
2006-10-11 19:20
2006.11.05
Складской вопрос





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский