我想得到债务人的地址和一个特定的身份证。
债务人
id hnr place name
1 22 Amsterdam companyname
2 26 Enschede anotherCompany
临时债务人
id debtors_id hnr place
1 1 12 Almelo
当我选择like debtors.name%companyname%时的结果
hnr debtors.id place name
22 1 Amsterdam companyname
12 1 Almelo companyname
我现在的问题是:
SELECT * FROM debtors d where d.name LIKE '%companyname%';
但是,我如何加入另一个表,从debtors表中获取附加地址和“默认”地址(默认地址必须是结果集中的第一行)。
最佳答案
使用并集和内部联接
select d.hnr, d.place, d.name
from debtors as d
d.name LIKE '%companyname%'
union
select a.hnr, a.place, c.name
from aditional_debtor as a
inner join debtors as c on a.debtors_id = c.id
and c.name LIKE '%companyname%'