我有表:MySQL的:选择里面()函数
tasks_whatwhom | CREATE TABLE tasks_whatwhom (
id int(3) NOT NULL AUTO_INCREMENT,
name varchar(150) NOT NULL,
message varchar(255) NOT NULL,
filial_list text,
client_list text,
PRIMARY KEY (id),
UNIQUE KEY name (`name`)
) ENGINE=Aria AUTO_INCREMENT=53 DEFAULT CHARSET=utf8 PAGE_CHECKSUM=1
场filial_list
看起来像'12,14'
。
还有另一张表filials
这个表格包含关于filial的附加信息。
SQL语句:
select * from filials where id IN(14,12) and status=1;
作品期待,但低于 - 返回零。我不明白为什么?
select * from filials where id IN(select filial_list from tasks_whatwhom) and status=1;
大多数时候在字段中保存逗号分隔列表并不是个好主意。它们是字符串而不是值的列表。改为使用单独的表格。你可以使用[FIND_IN_SET](https://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_find-in-set),但它不能很好地扩展。 – VMai
您从“从tasks_whatwhom选择filial_list”获得了什么输出? ? –
@JosephB'14,12' – Andry