选择列表
chl_element chl_label chl_dependent_value chl_value
country india IN
state karnataka IN KA
city bangalore KA BNG
用户表
elo_state elo_country elo_city
KA IN BNG
我如何加入这两个表并显示country
名称是印度而不是In
.....我不想使用子查询,因为搜索它时会创造问题
答案 0 :(得分:0)
您必须使用选择列表表加入users表。您还需要指定要加入的属性。例如,如果您的users表包含列用户名,则可以使用此选项:
SELECT
users.username,
c1.chl_label AS country,
c2.chl_label AS state,
c3.chl_label AS city
FROM
users LEFT JOIN choicelist c1
ON users.elo_country=c1.chl_value AND c1.chl_element = 'country'
LEFT JOIN choicelist c2
ON users.elo_state=c2.chl_value AND c2.chl_element = 'state'
LEFT JOIN choicelist c3
ON users.elo_cITY=c3.chl_value AND c3.chl_element = 'city'
这里我多次使用选择列表加入users表,有多个别名(c1 c2 c3)。