不喜欢MYSQL INNER JOIN

时间:2014-09-19 09:56:56

标签: php mysql

我有内连接两个表,列中的数据是数组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条件。三江源!

2 个答案:

答案 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)(,|$)';
相关问题