Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从两个不同的表中获得类似的结果,并将它们附加在一起_Mysql_Sql - Fatal编程技术网

Mysql 从两个不同的表中获得类似的结果,并将它们附加在一起

Mysql 从两个不同的表中获得类似的结果,并将它们附加在一起,mysql,sql,Mysql,Sql,我想用一个特定的id获取债务人的附加地址 债务人 id hnr place name 1 22 Amsterdam companyname 2 26 Enschede anotherCompany 传统债务人 id debtors_id hnr place 1 1 12 Almelo 选择类似债务人时的结果。名称%companyname% hnr debtors.id place name 22 1 Amst

我想用一个特定的id获取债务人的附加地址

债务人

id hnr place      name
1  22  Amsterdam  companyname
2  26  Enschede   anotherCompany
传统债务人

id debtors_id hnr place 
1  1          12  Almelo
选择类似债务人时的结果。名称%companyname%

hnr debtors.id  place       name
22  1           Amsterdam   companyname
12  1           Almelo      companyname
我到目前为止的疑问是:

SELECT * FROM debtors d where d.name LIKE '%companyname%'; 

但是如何连接其他表以从debtors表中获取附加地址和“默认”地址(默认地址必须是结果集中的第一行)。

使用union和inner join

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

我会选择union all并加入(接近@Prdp解决方案,但我更喜欢加入)


你可以很容易地找到关于join的资源,即使我在你的示例中没有看到任何join,你已经尝试过了吗?
select hnr, place, name 
FROM debtors d 
where id =1
UNION ALL
select ad.hnr, ad.place, d.name
FROM debtors d join aditional_debtor ad on d.id = ad.debtors_id
where d.id =1