Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Как обледенить эти 2 запроса (prihod) 14/01/2009 - 11:45:10
      Re: Как обледенить эти 2 запроса (bac) 14/01/2009 - 12:31:26
      Re: Как обледенить эти 2 запроса (prihod) 14/01/2009 - 14:05:50
      Re: Как обледенить эти 2 запроса (bac) 14/01/2009 - 23:32:54

> Original message text:
> From: prihod - 14/01/2009 - 11:45:10
> Subject:Как обледенить эти 2 запроса
> -----------------
> Имеется 2 запроса :
>
>
> SELECT ifnull((select FROM_UNIXTIME(bo.date_enter,'%d.%m.%Y')
> FROM bonus bo where bo.id_user=us.id_user AND bo.id_bonus_name=1
> ORDER BY bo.date_enter DESC LIMIT 1),DATE_FORMAT(us.date_first_p,'%d.%m.%Y')) as lastdate
> FROM user us WHERE us.date_activ is not NULL;
>
>
> Который из таблицы user для каждого пользователя возвращает дату последнего начисления бонуса (бонус начисляется рас в год )
>
>
>
> SELECT id_user,CONCAT(fname,' ',iname,' ',oname) as fullname ,num_dog , lastdate_?
> FROM user WHERE IF (366 - DAYOFYEAR('2009-01-13') > 1,(DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') < 1)
> AND (DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') >= 0),((DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') < 1)
> AND (DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') >= 0)) OR ((366 - DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') < 1)
> AND (366 - DAYOFYEAR(lastdate_?) - DAYOFYEAR('2009-01-13') >= 0)))
>
>
> Данный запрос возвращает информацию о клиентах которым нужно начислить бонус если lastdate_? == 01-13 (год отбрасываем)
> Так вот как вместо lastdate_? подставлять дату из 1-го запроса т.е lastdate
>


From: bac - 14/01/2009 - 23:32:54
Subject:Как обледенить эти 2 запроса
-----------------
Ага разобрался с синтаксисом. Да все верно. На первый взгляд
Запутано было. Ваше решение оч.простое. Присвойте переменной результат запроса.

SELECT
__@lastdate := ifnull(
____(SELECT FROM_UNIXTIME(bo.date_enter,'%d.%m.%Y')
______FROM bonus bo
______WHERE bo.id_user=us.id_user AND bo.id_bonus_name=1
______ORDER BY bo.date_enter DESC
______LIMIT 1
_____),
_____DATE_FORMAT(us.date_first_p,'%d.%m.%Y')
__) as lastdate
FROM user us
WHERE us.date_activ IS NOT NULL

И далее во втором запросе использовать @lastdate


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
34859



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |