Как правило, вы подходите к таким проблемам, используя LEFT JOIN
. Первая таблица содержит все строки, которые вы хотите в наборе результатов. Второй имеет «добавленную» информацию.
select . . . -- whatever columns you want
from accounthead ah left join
ledger l
on l.accid = ah.id ;
Столбцы из ledger
для ah.id
с, которые не совпадают в l.accid
, будут NULL
.
У вас также есть условие where l.accid = 1
. Я предполагаю, что это на самом деле не нужно, и вышесказанное делает то, что вы хотите.