Объединить несколько таблиц в одном запросе

Такая задача. Есть 4 таблицы: i_list, m_list, a_list, y_list. Количество полей в них разное. Мне нужно как то объединить их в одну, временную таблицу, чтобы я мог перебрать получившийся массив через while.

Т.е.

while ($re = $query->fetch_array()) echo $re['name'] ...

В каждой таблице есть поле sid, которое служит условием. Я плохо понимаю в JOIN'ах, поэтому прошу помощи, кому не сложно.

Я пробовал так:

$query = $bds->query("
SELECT
ml.*, 
il.*,
al.*

FROM 
m_list ml
OUTER JOIN i_list il ON ml.sid = il.sid
OUTER JOIN a_list al ON ml.sid = al.sid   
");

Получилось - ничего путного. Хочу, чтобы запрос был аналогичен такой конструкции:

$query = $bds->query("SELECT * FROM <table-name> WHERE sid='$var'");

Но как сделать - не представляю.

upd

$query = $bds->query("
SELECT
ml.header, 
il.header

FROM 
m_list ml WHERE ml.sid='$var'
LEFT JOIN i_list il ON il.sid = '$var'

");
$r = print_r($query->fetch_array(),1);
echo '<pre>'.$r.'</pre>';

Ответы (1 шт):

Автор решения: Daniil Loban
$query = $bds->query("SELECT 
   ml.header 
   FROM `ml` 
   WHERE ml.SID='$var' 
  UNION 
   SELECT il.header 
   FROM `il` 
   WHERE il.SID='$var'");

Результат

введите сюда описание изображения

таблицы

введите сюда описание изображения

→ Ссылка