我想执行一个查询,该查询取决于一个参数的char_length应该选择一个表还是另一个表。应该是这样的,但是我知道那根本不正确,并且有一些语法错误我找不到。
SELECT IF (
CHAR_LENGTH('var44') < 3,
name FROM nets WHERE code = 'var44',
name FROM variable WHERE id = (SELECT SUBSTRING('var44',4))
);
有任何想法吗?谢谢。
最佳答案
那将是您的解决方案:
select name from nets WHERE code = 'var44' and CHAR_LENGTH('var44') < 3
union
select name FROM variable WHERE id = (SELECT SUBSTRING('var44',4)) and CHAR_LENGTH('var44') >= 3
还是
if
语句是强制的?关于mysql - SQL根据if结果的不同查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22547628/