За последние 24 часа нас посетили 16475 программистов и 1561 робот. Сейчас ищут 2034 программиста ...

Выборка из нескольких таблиц

Тема в разделе "MySQL", создана пользователем sheff88, 28 июл 2008.

  1. sheff88

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

    С нами с:
    16 июл 2008
    Сообщения:
    22
    Симпатии:
    0
    Здравствуйте все. Не подумайте, что я не умею делать выборку из нескольких таблиц. Умею). Просто сейчас передо мной встала специфичная задача:
    Нужно сделать выборку из нескольких идентичных по структуре таблиц по заданным условиям. Но так, чтобы не приписывать к полям - условиям выборки имя таблицы, ведь поля во всех таблицах идентичны
    [sql]SELECT * FROM tab1, tab2, tab3 where time < 1234567687[/sql]
    а не
    [sql]SELECT * FROM tab1, tab2, tab3 where tab1.time < 1234567687 and tab2.time < 1234567687 and tab3.....[/sql]
    Надеюсь, что меня поняли. Заранее спасибо, с нетерпением жду ответа.
     
  2. dAllonE

    dAllonE Guest

    Извините за оффтоп, а Вы уверены что это технически реализуемо? Насколько я помню MySQL, при дублировании имени столбца, сразу же выдает: Error #1052 - Столбец field_name неоднозначен

    Если для всех таблиц time одинаковый в выборке может быть стоит использовать UNION?

    Т.е.:

    [sql]
    (SELECT * FROM tab1 WHERE time < 1234567687)
    UNION
    (SELECT * FROM tab2 WHERE time < 1234567687)
    UNION
    (SELECT * FROM tab3 WHERE time < 1234567687)
    [/sql]
     
  3. sheff88

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

    С нами с:
    16 июл 2008
    Сообщения:
    22
    Симпатии:
    0
    Огромное спасибо. Я думал про union. Да, пожалуй, это будет наиболее лаконичный вариант. Еще раз спасибо.
     
  4. dAllonE

    dAllonE Guest

    Всегда пожалуйста.
     
  5. DarkElf

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

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    мм, а если данные идентичны по структуре, что они делают в 3 разных таблицах?