За последние 24 часа нас посетили 18360 программистов и 1647 роботов. Сейчас ищут 1762 программиста ...

Выборка по условию из разных таблиц

Тема в разделе "MySQL", создана пользователем Vladislav_Yushkin, 9 ноя 2008.

  1. Vladislav_Yushkin

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

    С нами с:
    19 июн 2007
    Сообщения:
    71
    Симпатии:
    0
    Подскажите пожалуйста.

    Есть три таблицы.
    первая
    Код (Text):
    1.  
    2. id cat id_get
    3. 1  1   1
    4. 2  1   2
    5. 3  1   3
    6. 4  2   1
    7. 5  2   2
    8. 6  1   4
    9. 7  2   3
    вторая
    Код (Text):
    1.  
    2. id src
    3. 1  a
    4. 2  b
    5. 3  c
    6. 4  d
    третья
    Код (Text):
    1.  
    2. id src
    3. 1  e
    4. 2  f
    5. 3  g
    Необходимо написать запрос таким образом чтобы получилось следующее
    Код (Text):
    1.  
    2. id cat src
    3. 1  1   a
    4. 2  1   b
    5. 3  1   c
    6. 4  2   e
    7. 5  2   f
    8. 6  1   d
    9. 7  2   g
    Т.е. если значение cat=1 то берем значение для src из второй таблицы, а если cat=2 то берем значение из третьей таблицы.

    Я вот никак не соображу в каком месте и как написать условие.
     
  2. sylex

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

    С нами с:
    9 ноя 2008
    Сообщения:
    625
    Симпатии:
    0
    Адрес:
    Омск
    [sql]SELECT
    t1.id, t1.cat,
    IF ( t1.cat = 1, t2.src, t3.src )
    FROM tab1 t1
    LEFT JOIN tab2 t2
    ON t1.id_get = t2.id
    LEFT JOIN tab3 t3
    ON t1.id_get = t3.id
    ORDER BY t1.id[/sql]