Главная страница
    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.056 c
2-1161350547
Dib@zol
2006-10-20 17:22
2006.11.05
Ворох вопросов по API


15-1161012848
learner
2006-10-16 19:34
2006.11.05
Ошибка при закрытии Delphi 2006


3-1157886753
anton773
2006-09-10 15:12
2006.11.05
вневсение изменений


15-1160726370
RWolf
2006-10-13 11:59
2006.11.05
Разный размер приложения при компиляции на разных машинах


2-1161090702
varlam87
2006-10-17 17:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский