2015-11-22 102 views
2

我已经得到了有几个选择语句,其中一个做了另一个选择返回的所有结果选择以下MySQL的声明。只是想知道它是否可以合并为一个机会。例如。像三重联接。合并/合并两个SELECT语句为一个

select networks.name as network_name, installations.name as installation_name 
from network_installations 

join installations on installations.id = network_installations.installation_id 

join networks on networks.id = network_installations.network_id 

where network_installations.network_id in (
    select network_installations.network_id 
    from network_installations 
    where network_installations.installation_id = 1 
); 

注意。我已经做了SQL查询,但是这是我第一次的经验与SQL连接。

+0

你尝试了吗? – FuzzyTree

+0

@FuzzyTree没有想我就不会迄今达成。最初我所存储的选择结果在一个PHP数组,做一个foreach到第一其他查询和所附的结果。然后我把它修改为上述之一,现在我想合并这两个。到目前为止,我所有的合并查询都失败了。这就是我发布帖子的原因。 – DhiwaTdG

回答

1

为表network_installations使用别名:

select networks.name as network_name, installations.name as installation_name 
from network_installations ni1 
join installations on installations.id = ni1.installation_id 
join networks on networks.id = ni1.network_id 
join network_installations ni2 on ni2.network_id = ni1.network_id 
where ni2.installation_id = 1 
+1

完美的作品。感谢负载。 @mnv – DhiwaTdG