Не использовать select *
- выберите нужные столбцы:
select m.col_1, m.col_2,
ex.*
from message m
full outer join (
select id, result, start, finish, message
from message_execution
) ex on ex.id = m.id
where m.id = 1626;
Или вы можете упростить это до:
select m.col_1, m.col_2,
ex.id, ex.result, ex.start, ex.finish, ex.message
from message m
full outer join message_execution ex on ex.id = m.id
where m.id = 1626;
Если id
определено какчисло, вы не должны сравнивать его со строковой константой.'1626'
- строковая константа, 1626
- число.
Обратите внимание, что условие where
в таблице message
по существу превращает полное объединение в левое соединение, поэтому приведенное выше эквивалентно:
select m.col_1, m.col_2,
ex.id, ex.result, ex.start, ex.finish, ex.message
from message m
left outer join message_execution ex on ex.id = m.id
where m.id = 1626;