2014-02-05 3 views
1

Я пытаюсь присоединиться к выводам двух или более запросов mysql. Поэтому, если Query 1 имеет N столбцов, а Query 2 имеет M столбцов, то вывод должен иметь столбцы N + M. В качестве примера:Объединение столбцов Выходы двух или более столбцов из MySQL-запроса

select * from (select 1,2,3) as X, 
       (select 4,5) as Y; 

Выход здесь является:

1 2 3 4 5 

Теперь проблема в том, что мой второй запрос не может производить никаких результатов. Этот случай не приводит к выходу на всех:

select * from (select * from table_0) as X, 
       (select * from table_1) as Y; 

Если table_1 не возвращает спички, объединенные возвращения выходных строк нет. Я все равно хотел бы вернуть записи моей первой таблицы.

Хотя у меня есть обходной путь, он включает индивидуальные запросы для каждой из M столбцов. Я также не хочу создавать временные таблицы и присоединяться к ним.

+0

Да! 1 = 1 - отличный наконечник. И он работал отлично в небольшом примере. Я собираюсь упаковать это в свое приложение и посмотреть, будут ли мои 221 секунды сбриты. Благодаря Конраду Фриксу и Тиму Берчу! –

ответ

1

LEFT JOIN должны это сделать:

select * 
from (select * from table_0) as X 
    left join (select * from table_1) as Y on 1; 
+0

Вот [SQL Fiddle] (http://sqlfiddle.com/#!2/a4d74/3), демонстрирующий ответ. Не стесняйтесь включить его в свой ответ. –

+0

Вы правы. Спасибо, что поймал это. Под редакцией я ответил соответственно. –

+0

Да! 1 = 1 - отличный наконечник. И он работал отлично в небольшом примере. Я собираюсь упаковать это в свое приложение и посмотреть, будут ли мои 221 секунды сбриты. Благодаря Конраду Фриксу и Тиму Берчу! –

Смежные вопросы