Mysql 选择录制非我的朋友

Mysql 选择录制非我的朋友,mysql,Mysql,我有三个MySQL表: USERS有id和name列 POST有id、user\u POST、content和date SHARE有id、post\u id和tag\u users列 id post_id tag_users 1 2 5,20 2 4 12,21,9,16,4 3 5 18,19 变量$arrayno

我有三个MySQL表:

USERS
id
name

POST
id
user\u POST
content
date

SHARE
id
post\u id
tag\u users

id        post_id           tag_users
1         2                 5,20
2         4                 12,21,9,16,4
3         5                 18,19
  • 变量$arraynotfriends包含字符串:“21”、“9”、“4”、“18”、“19”、“5”、“20”
  • 变量$arrayfriends包含字符串:“12”、“7”、“6”
  • 我的朋友身份证号码是12,7,6
我的问题是:

select u.*,p.*,s.* from USERS u
left join POST p on (p.user_post = u.id)
left join SHARE s on (p.id = s.post_id)
where
u.id IN ('$arraynotfriends') = 0
1的记录是2


我想获取列表中非my Friends为12的记录1和3

应该从语句中删除
=0
(“$arraynotfriends”)=0中的语句
u.id($arraynotfriends')=0也应该是数值数组而不是字符串格式

当我使用not FIND\u in\u SET(12,s.tag\u Friends\u share)精确显示时。但我想替换第12位的可变$arrayfriends。如何做到这一点。