我有以下表格:
类别表
> ID Code CodeValue Value
> 1 sex 1 Male
> 1 sex 2 Female
> 2 age 1 Under 20
> 2 age 2 Between 20 and 40
> 2 age 3 Over 40
数据表
> sex age
> 1 1
> 1 2
> 2 2
> 1 3
我想根据代码返回字段的值,以便最终表格如下所示:
> sex age
> Male Under 20
> Male Between 20 and 40
> Female Between 20 and 40
> Male Over 40
有没有办法加入' Code'的值(性别年龄)?在类别表中的列与数据表中的列名称,然后返回相应的'值' (男,女,20岁以下等......)
谢谢!
萨姆
答案 0 :(得分:2)
您可以两次加入表格,每个类别一次。
SELECT cts.value sex, cta.value age
FROM data_table dt
INNER JOIN category_table cts
ON dt.sex = cts.code_value AND cts.code = 'sex'
INNER JOIN category_table cta
ON dt.age = cta.code_value AND cta.code = 'age'