MySQL выбрать запрос

0

Мой вопрос очень прост, но я не могу найти ответ здесь.

Итак,

Все, что я хочу сделать, это выбрать из двух таблиц сразу (с одинаковыми именами столбцов [id])

В настоящее время у меня

"SELECT * FROM table1 WHERE id='$id_var'" 

но мне также нужно проверить 'table2'. Какой лучший способ сделать это без создания второго запроса? спасибо.

Шейн

Теги:
select

3 ответа

1
Лучший ответ
  SELECT * FROM table1 WHERE id='$id_var'
  UNION ALL
  SELECT * FROM table2 WHERE id='$id_var'
1

Вы также можете сделать это:

SELECT table1.id, table1.x, table2.y 
FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE table1.id = $id;
  • 0
    ОП очень неясен, но, похоже, ЛЕВОЕ СОЕДИНЕНИЕ или ВНУТРЕННЕЕ СОЕДИНЕНИЕ - это то, чего он может пожелать.
1
SELECT * FROM table1 WHERE id = '$id_var'
UNION ALL
SELECT * FROM table2 WHERE id = '$id_var'

Однако вопрос, который вы должны задать самому себе, - это то, почему у вас есть две таблицы с одинаковыми столбцами. Мне кажется, что мне плохой дизайн базы данных.

  • 0
    Спасибо за ваш ответ. Только столбцы ИМЕНА одинаковы, а данные нет. Не плохой дизайн, на этот раз.
  • 0
    да, согласитесь, вы можете сохранить логический флаг в базе данных для разделения!
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню