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

Вниз

Как получить верный результат используя SUM()   Найти похожие ветки 

 
Leonardo   (2005-02-19 20:19) [0]

Буду очень признателен Вам за дельній совет.
Таких примеров в инете не находил еще!

каким образом можно получить верный результат, когда используешь
две фу-ции Sum например

Select table.id,sum(table1.kolvo) as sum1,sum(table2.kolvo) as sum2 from
table,table1,table2 where
table1.tID=table.id and table2.tID=t.id

получаю результат (Например)
ID    sum1  sum2
---------------
25    150   300

Считает, но не правильно!!!!
Должно быть так
ID   sum1   sum2
----------------
25   75     100

 


 
Desdechado ©   (2005-02-19 20:24) [1]

попробуй с подзапросом
select table.id, (select sum(table1.kolvo) from table1 where table1.tid=table.id) as sum1, (select sum(table2.kolvo) from table2 where table2.tid=table.id) as sum2
from table
order by table.id


 
Fin ©   (2005-02-19 20:25) [2]


> Leonardo   (19.02.05 20:19)


>where table1.tID=table.id and table2.tID=t.id

а как table2 связан с другими table?


 
Leonardo   (2005-02-19 20:29) [3]

Desdechado, пробовал так
почему не выходит?
table1.tid=table.id
в подзапрос t.id не передает значение, я уже пробовал


 
Desdechado ©   (2005-02-19 20:33) [4]

t.id у тебя в запросе ниоткуда - алиаса для таблицы такого нет


 
Leonardo   (2005-02-19 20:35) [5]

Ошибся, не t.id, a Table.id


 
Johnmen ©   (2005-02-19 22:14) [6]

>Leonardo

Всё очень просто объясняется.
Представь себе декартово произведение 3-ёх таблиц. Из него отбери записи, удовлетворяющие твоему условию (where). Теперь просуммируй указанные в sum поля. Получишь то, что и указал в [0].


 
sniknik ©   (2005-02-19 22:22) [7]

> Считает, но не правильно!!!!
наверняка правильно, но почемуто ты не ожидаеш подобного результата,
убери из запроса суммы, получи обьеденение в виде полного рекордсета и посчитай сам с помошью калькулятора... увидиш получится тоже самое.



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

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

Наверх




Память: 0.45 MB
Время: 0.033 c
1-1109933326
MTsv DN
2005-03-04 13:48
2005.03.20
LIB -> OBJ


1-1109438900
IgorP
2005-02-26 20:28
2005.03.20
Передача сообщений из TThread в визуальные компоненты


4-1107515058
Homesad
2005-02-04 14:04
2005.03.20
Проблемы с разделяемой памятью


1-1109927584
DimaK
2005-03-04 12:13
2005.03.20
Помогите разобраться с RichEdit!


14-1109236007
dimonf
2005-02-24 12:06
2005.03.20
Работа в Москве от 1100$





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