我有一个如下表,
taskId taskList
1 A, B
2 C, F, H
查询时
select count(*) from task_list where taskList='A, B';
OP:1
但是,
select count(*) from task_list where taskList='B, A';
OP:0
我希望'A,B'和'B,A'是相同的。
如何实现?
答案 0 :(得分:0)
您正在使用带等号的精确比较。确切地说,“ A,B”与“ B,A”不同。
正如其他人所提到的,您可以对数据进行非规范化。
如果这不是一个选项,请改用like命令。像这样:
select count(*) from task_list where (taskList LIKE '%A%' AND taskList LIKE '%B%');
希望这会有所帮助。 问候