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

Форум MySQL

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

 

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

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

тема: Конструкция IF ... ELSE в запросе

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

 
 автор: sms-send   (28.07.2010 в 12:10)   письмо автору
 
   для: kireyev   (28.07.2010 в 07:24)
 

SELECT well.legacy_id 
FROM
    well
    INNER JOIN pump_install ON well.wellbore_id=pump_install.wellbore_id
    INNER JOIN
    (
        SELECT wellbore_id, MAX(install_date) AS install_date
        FROM pump_install
        GROUP BY wellbore_id
        ORDER BY NULL
    ) AS w ON
        w.wellbore_id=pump_install.wellbore_id
        AND
        w.install_date=pump_install.install_date
WHERE
    well.wellbore_id = '10'
    AND
    pump_install.exp_way_id='4'


Если в запросе выборка всегда только по одному wellbore_id, то GROUP BY & ORDER BY во вложенном запросе можно заменить на условие: WHERE wellbore_id = '10'

  Ответить  
 
 автор: ddhvvn   (28.07.2010 в 11:08)   письмо автору
 
   для: kireyev   (28.07.2010 в 07:24)
 

тут правильно

  Ответить  
 
 автор: kireyev   (28.07.2010 в 07:24)   письмо автору
 
 

Возможна ли конструкция IF ELSE в самом запросе? Какой правильный синтаксис?

google кое что нашел, но применить я не смог:
IF (
  SELECT pump_install.exp_way_id 
  FROM pump_install 
  WHERE 
  pump_install.wellbore_id='10' AND 
  pump_install.install_date=(
    SELECT MAX(pump_install.install_date) 
    FROM pump_install 
    WHERE pump_install.wellbore_id='10')
  ) = '4'
BEGIN
SELECT well.legacy_id
FROM well
WHERE well.wellbore_id = '10'
END

выдает ошибку о неверном предложении...

  Ответить  

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

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

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