在MySQL中,如果设置了外键,如何从另一个表中选择?
我尝试做的是选择Fields.value
如果Fields.value_id
未设置,请从Values.value
Values
选择Value.id
Fields.value_id
}等于Fields:
。
我的桌子:
id | value | value_id
Values:
id | value
SELECT CASE
WHEN Field.value_id = NULL OR Field.value_id = ""
THEN Field.value
ELSE
Value.value
FROM values as Value
WHERE (Field.value_id = Value.id)
我的代码在这里出了什么问题?
代码:
{{1}}
答案 0 :(得分:2)
一个语法错误是您遗漏了end
中的case
。我还认为你想要在表之间进行左连接。鉴于可获得的信息,我最好的猜测是:
SELECT (CASE WHEN f.value_id = NULL OR f.value_id = ''
THEN f.value
ELSE v.value
END)
FROM fields f left join
values v
on f.value_id = v.id;