我有两张桌子,分别是国家和地区。地区。这些表中的公共列是StateID。
我想在该州的地区名称下显示州名
结果格式应如下所示:
塔米尔纳杜
奈
哥印拜陀
卡纳塔克邦
班加罗尔
迈索尔
请告诉我如何使用sql查询加入表以获得上述结果。
答案 0 :(得分:2)
请尝试:
select StateID, StateName, 0 Sort from States
union all
select StateID, DistrictName, 1 Sort From Districts
order by StateID, Sort
答案 1 :(得分:1)
这应该有效:
SELECT sc.name
FROM
states AS s2
LEFT JOIN
(SELECT s.statename AS name,
s.stateid
FROM states s
UNION ALL
SELECT c.cityname AS name,
c.stateid
FROM city c) AS sc
ON sc.stateid = s2.stateid
<强>输出:强>
<强>塔米尔纳杜强>
奈
哥印拜陀
的卡纳塔克邦强>
班加罗尔
迈索尔
答案 2 :(得分:0)
SELECT StateName, group_concat(DistrictName)
FROM Districts d JOIN States s
ON d.StateID = s.StateID
group by StateName
ORDER BY StateName, DistrictName