Mysql 连接两个表并显示属性名而不是id
精选列表表Mysql 连接两个表并显示属性名而不是id,mysql,Mysql,精选列表表 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
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
用户表
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
我如何连接这两个表并显示
国家
名称,即印度而不是中的…我不想使用子查询,因为在搜索它时会产生问题您必须将users表与choicelist表连接起来。还需要指定要加入的属性。例如,如果users表包含列username,则可以使用:
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'
在这里,我使用choicelist多次加入用户表,并使用多个别名(c1 c2 c3)。尝试一个join语句,如果遇到错误,请将其发布请在stackoverflow中格式化此I am new