Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Оптимизировать запрос
 
 автор: 75349287347   (25.01.2009 в 22:16)   письмо автору
 
 

Задача тривиальная - посчитать реферальский бонус.
Вот только запрос получается очень длинный. Подскажите, как его сократить.

SELECT (

SELECT SUM( `amount1` ) 
FROM `qp_transactions` 
WHERE `login2` = ANY(

SELECT id
FROM qp_users
WHERE ref =1
)
AND `ban_num1` =0
AND `is_ext1` =0
) + ( 
SELECT SUM( `amount2` ) 
FROM `qp_transactions` 
WHERE `login1` = ANY(

SELECT id
FROM qp_users
WHERE ref =1
)
AND `ban_num2` =0
AND `is_ext2` =0 ) - ( 
SELECT SUM( `amount2` ) 
FROM `qp_transactions` 
WHERE `login2` = ANY(

SELECT id
FROM qp_users
WHERE ref =1
)
AND `ban_num2` =0
AND `is_ext2` =0 ) - ( 
SELECT SUM( `amount1` ) 
FROM `qp_transactions` 
WHERE `login1` = ANY(

SELECT id
FROM qp_users
WHERE ref =1
)
AND `ban_num1` =0
AND `is_ext1` =0 ) AS `result`

  Ответить  
 
 автор: Ильдар   (30.01.2009 в 12:29)   письмо автору
 
   для: 75349287347   (25.01.2009 в 22:16)
 

используй JOIN, я думаю он здесь даже будет эффективней в работе

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования