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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Оптимизировать запрос

Сообщения:  [1-2] 

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

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

  Ответить  
 
 автор: 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`

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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