我有内连接两个表,列中的数据是数组ID:
table : blocks have unload_category_id = ',12,19,'
table : videos have category_id = ',1,4,12,n,...,'
我想在查询视频表中的所有数据时,但没有查询视频具有类别12和19或n的id
WHERE ... AND videos.category_id NOT LIKE ('%,12,%','%,19,%')
返回错误。
帮我修复NOT LIKE条件。三江源!
答案 0 :(得分:2)
您应该将数组ID拆分为表(它的用途),并且您将能够使用SQL的全部功能(如子查询)。
现在您的问题出现了语法错误:
WHERE ... AND videos.category_id NOT LIKE ('%,12,%','%,19,%')
应该是:
WHERE ... AND ( videos.category_id NOT LIKE '%,12,%' OR videos.category_id NOT LIKE '%,19,%' )
答案 1 :(得分:1)
试试这个......
WHERE ... AND videos.category_id NOT REGEXP '(^|,)(12|19|n)(,|$)';