Автор Айбек Токтакунов задал вопрос в разделе MySQL
Как создать IF условие в SQL запрос? и получил лучший ответ
Ответ от ?????? ????r?????u[гуру]
как бы принадлежность выводят в отдельную таблицу.
id | id_master | id_slave
-------------------------------------
Ответ от Jurijus Zaksas[гуру]
Никак. Такие дела делаются через OUTER JOIN, NVL и DECODE (оракловский синтаксис) в различных комбинациях. В твоем случае - примерно так:
SELECT F.ID, F.FIRMA, DECODE(FF.ID, NULL, F.STOIM, FF.STOIM) AS STOIM
FROM FIRMA F
LEFT OUTER JOIN FIRMA FF
ON FF.ID_FILIAL=F.ID
Но это только в случае одноуровневой зависимости, если у филиала есть еще филиалы - начинается история под названием "рекуррентные запросы". Мне их в жизни не доводилось использовать никогда, поэтому извини - не воспроизведу сейчас.
Никак. Такие дела делаются через OUTER JOIN, NVL и DECODE (оракловский синтаксис) в различных комбинациях. В твоем случае - примерно так:
SELECT F.ID, F.FIRMA, DECODE(FF.ID, NULL, F.STOIM, FF.STOIM) AS STOIM
FROM FIRMA F
LEFT OUTER JOIN FIRMA FF
ON FF.ID_FILIAL=F.ID
Но это только в случае одноуровневой зависимости, если у филиала есть еще филиалы - начинается история под названием "рекуррентные запросы". Мне их в жизни не доводилось использовать никогда, поэтому извини - не воспроизведу сейчас.
Ответ от Полосатый жираф Алик[гуру]
А если есть 100 филиалов?
А если есть 100 филиалов?
Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Как создать IF условие в SQL запрос?