|
|
|
|
|
для: 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' | |
|
|
|
|
|
|
|
| Возможна ли конструкция 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
|
выдает ошибку о неверном предложении... | |
|
|
|
|