За последние 24 часа нас посетили 22348 программистов и 1026 роботов. Сейчас ищут 724 программиста ...

Поле с условием IF

Тема в разделе "MySQL", создана пользователем IvanKut, 23 май 2020.

  1. IvanKut

    IvanKut Активный пользователь

    С нами с:
    27 июл 2018
    Сообщения:
    258
    Симпатии:
    0
    Всем привет!
    Такой вопрос, делаю SELECT запрос и через IF делаю вычисляемое значение visitCalc и мне нужно сравнить с фиксированным значение v.`visitDate` если if(visitCalc<v.`visitDate`,visitCalc,visitCalc)

    Вопрос как НЕ дублировать дважды код вычисления visitCalc, чтобы реализовать такой IF
    if(visitCalc<v.`visitDate`,visitCalc,visitCalc)

    Подскажите как такое реализовать:

    Хочу уйти от
    Код (Text):
    1.   if(
    2. IF(
    3.     DATE(d.`rentStart`) = DATE(d.`delStartTsalon`),
    4.     d.`delStartTsalon`,
    5.     IF(
    6.       DATE(d.`rentStart`) = DATE(d.`waitShowroom`),
    7.       d.`waitShowroom`,
    8.       NULL
    9.     )
    10.   ) ,
    11. <v.`visitDate`,
    12. IF(
    13.     DATE(d.`rentStart`) = DATE(d.`delStartTsalon`),
    14.     d.`delStartTsalon`,
    15.     IF(
    16.       DATE(d.`rentStart`) = DATE(d.`waitShowroom`),
    17.       d.`waitShowroom`,
    18.       NULL
    19.     )
    20.   ),
    21. v.`visitDate`
    К чему-то такому:
    Код (Text):
    1.  
    2. select
    3.   d.`ID` as dealID,
    4.   v.`visitDate`,
    5.   IF(
    6.     DATE(d.`rentStart`) = DATE(d.`delStartTsalon`),
    7.     d.`delStartTsalon`,
    8.     IF(
    9.       DATE(d.`rentStart`) = DATE(d.`waitShowroom`),
    10.       d.`waitShowroom`,
    11.       NULL
    12.     )
    13.   ) as visitCalc,
    14.   if(visitCalc<v.`visitDate`,visitCalc,visitCalc)