我有两张桌子。
Table Ah:
Country HDI Luck SomeOtherColumn SoOn
1 1 2 x y
2 1 2 b c
3 2 3 v g
4 3 4 e y
5 2 2 b g
6 4 1 n k
和第二个
Table Bu
Attribute Value Meaning
Country 1 RichAndLuckyCountry
Country 2 AnotherRichAndLuckyCountry
Country 3 AlsoQuiteRichButStillLuckyCountry
Country 4 NotSoRichAndSadAboutItCountry
Country 5 DoingWellCountry
Country 6 DontWorryBeHappyCountry
HDI 1 Very high
HDI 2 High
HDI 3 Medium
HDI 4 Low
Luck 1 Very high
Luck 2 High
Luck 3 Medium
Luck 4 Low
我需要的结果视图将如下所示:
Table Result
Country Country_Dissolved HDI HDI_Dissolved Luck Luck_Dissolved SomeOtherColumn SoOn
1 RichAndLuckyCountry 1 Very high 2 High x y
2 AnotherRichAndLuckyCountry 1 Very high 2 High b c
3 AlsoQuiteRichButStillLuckyCountry 2 High 3 Medium v g
4 NotSoRichAndSadAboutItCountry 3 Medium 4 Low e y
5 DoingWellCountry 2 High 2 High b g
6 DontWorryBeHappyCountry 4 Low 1 Very High n k
我只设法用一列结合where子句来完成它:
CREATE OR REPLACE VIEW Result AS
SELECT Ah.Country. Bu.Meaning as County_Dissolved
FROM Ah
INNER JOIN Bu
ON Ah.Country = Bu.Value
WHERE Bu.Attribute = 'Country'
我可能需要一些命令来遍历列名,并将列名与attribute列中的值连接起来,因为实际表具有更多可能的组合,因此仅针对每种情况制作多个SQL语句是没有解决方案的。 >
如何创建类似于上述Result
表的视图?使用表Ah
中的键分解表Bu
的值。
任何帮助将不胜感激。预先感谢!
我有两张桌子。表Ah:国家/地区HDI运气不错其他栏目即将上线1 1 2 x y 2 1 2 b c 3 2 3 v g 4 3 4 e ...
您需要left join
到Ah
的3个Bu
:
您的查询似乎正确。