Главная страница
    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.46 MB
Время: 0.034 c
1-1110093945
Leeechhhh
2005-03-06 10:25
2005.03.20
как сделать чтоб мою прогу небыло видно таскбаре


6-1105626922
Norny
2005-01-13 17:35
2005.03.20
Пайпы для локальной сети?


3-1108965710
xOn
2005-02-21 09:01
2005.03.20
Создание БД


6-1105566431
vers
2005-01-13 00:47
2005.03.20
Как защитить idTCPServer от ложных RST?


14-1109916632
Vlad Oshin
2005-03-04 09:10
2005.03.20
А не кажется ли Вам, что Достоевский шатает капитализм?





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