我想得到债务人的地址和一个特定的身份证。
债务人

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%'

08-07 16:51