问题如下。我有一个产品可以在三个类别之一(由category_id定义)。每个类别表都有与产品表中的category_id相关的category_id字段。所以我有3个案例。我正在检查如果我的product.category_id在表1中。如果是,我会采取一些价值观。如果没有,我检查剩下的表格。我可以写什么在ELSE部分?任何人都能纠正我的查询?CASE + IF MysQL查询
CASE
WHEN IF EXISTS(SELECT * FROM table1 WHERE category_id='category_id') THEN SELECT type_id FROM table1 WHERE category_id='category_id';
WHEN IF EXISTS(SELECT * FROM table2 WHERE category_id='category_id') THEN SELECT value_id FROM table2 WHERE category_id='category_id';
WHEN IF EXISTS(SELECT * FROM table3 WHERE category_id='category_id') THEN SELECT group_id FROM table3 WHERE category_id='category_id';
ELSE "dont know what here";
END;
或者说仅仅是文本字符串“未知类型”。但是,其他值似乎是数字,因此字符串值可能不起作用。 – Guffa 2010-06-16 12:00:20