我很抱歉这个问题很容易,但我是SQL的新手。我有下表:
----------表国-----------
地区 - 国家/地区
EMEA - 意大利 - 罗马
EMEA - 意大利 - 佛罗伦萨
EMEA - 西班牙 - 马德里
APJ - 日本 - Tokio
APJ - 日本 - 广岛
APJ - 中国 - Bejin我必须使用递归查询展开它并获得以下内容:
EMEA
意大利
罗马
佛罗伦萨
西班牙
马德里
APJ
日本
TH的
广岛
中国
BEJIN
我不知道从哪里开始..任何提示?
答案 0 :(得分:0)
如果我理解正确,你想获得类似这样的查询:
with united AS (
SELECT DISTINCT
REGION col,
1 rnk, --Region goes before Countries and Cities
REGION,
null Country --we need only one appearance for each Region
FROM your_table
UNION ALL
SELECT DISTINCT
Country,
2,
REGION,
Country
FROM your_table
UNION ALL
SELECT
CITY,
3,
REGION,
Country
FROM your_table
)
select col
FROM united
ORDER BY REGION,Country,rnk
但是没有递归。