【发布时间】:2013-12-18 04:43:23
【问题描述】:
我有两张桌子
tweets(id,user_id,lang);
//lang is enum (en,fr,ar,ch)
user(id,accepted_lang);
// accepted_lang is varchar and can vary like en,ar OR ar,fa OR en,fa etc
我想选择用户接受的所有语言的推文。
select * from tweets where lang in (select accepted_lang from user where id=16);
#return 0 row
如果我用它的结果 fa,ar 替换 select accepted_lang from user where id=16 它将返回一些行
select * from tweets where lang in ('fa','ar');
#return some of rows
所以实际上我的问题是如何将 varchar 转换为 enum 或 table
【问题讨论】:
-
那么到底是什么问题呢?这里的“不工作”是什么意思?你得到一个错误,或者错误的结果,或者什么都没有?请提供更多细节。另外,您在标题中提到了
like,但我没有看到任何有问题的like子句。 -
我猜它会使用like子句,但不知道如何
-
不,它不会使用
LIKE子句。它可能使用IN子句(具体取决于您要做什么),但不是LIKE。LIKE对枚举字段毫无意义。 -
您的评论很有帮助,请重新检查有问题的查询。
标签: mysql select enums where-in