我有两张表,比如波纹表格数字
我需要选择如下图所示的记录。 AH_ID需要加入第二个表,而ATT_ID将是列标题,ATT_DTL_STR_VALUE需要得到该列的相关值
必需的输出
答案 0 :(得分:1)
听起来你有一个关系数据库Entity-Attribute-Value的aren't the best at modeling数据模型。您可能需要查看key-value store。
然而,正如Justin建议的那样,如果你使用的是11g,你可以使用如下的枢轴条款:
SELECT *
FROM (
SELECT T1.AH_ID, T1.AH_DESCRIPTION, T2.ATT_ID, T2.ATT_DTL_STR_VALUE
FROM T1
LEFT OUTER JOIN T2 ON T1.AH_ID = T2.AH_ID
)
PIVOT (MAX(ATT_DTL_STR_VALUE) FOR (ATT_ID) IN (1));
此语句要求您在ATT_ID中进行硬编码,但有多种方法可以动态执行。可以找到更多信息here。