MySQL连接基于ID的两个表

时间:2019-03-13 18:42:02

标签: mysqli

我有两个表,一个是国家,另一个是国家。基于国家ID,我需要对国家进行分组。我尝试了加入,但无法获得。如何在一个列和ID中也获得相同的表名。 / p>

国家示例:

enter image description here

状态示例:

enter image description here

预期结果

enter image description here

谢谢。

2 个答案:

答案 0 :(得分:0)

您不必使用join。与别名联合将起作用。 这是您的查询:

  

选择r.name,r.type,r.parent_id,r.og FROM   (选择c.name AS   名称,“国家” AS类型,0 AS父ID,c.origin AS og FROM国家c

     

UNION

     

SELECT s.name AS名称,'state'AS类型,s.country_id AS parent_id,s.country_id AS og FROM STATE)作为r.og的r顺序,   r.parent_id

在这里,og是为满足您的排序需求而创建的额外投影。

答案 1 :(得分:0)

select *
from country
join state
on state.country_id = country.origin

您可以通过添加来进行分组

group by country_id 

就混合两个查询的结果而言,只需在两个查询之间使用UNION ALL。容易。

SELECT query 1.
UNION ALL
SELECT query 2.