[英]MySQL project design - conditionally select from one table based on rows from another select query
[英]Conditionally select from one table or another in MySQL
在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)
一种语法错误是您错过了case
的end
。 我还认为您希望在表之间保持左连接。 根据可用信息,我的最佳猜测是:
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;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.