我有表: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