新增一个表C,包含 信息表ID,用户ID,添加用户时就往表里插数据 select b.* from 用户表 a, 信息表 b, 表C where a.ID = c.用户ID and b.ID = c.信息表ID and a.ID = 某某用户
客户希望发布的信息只有指定用户能够看到,我能想到的办法就是在这个信息表中加一个长varchar字段publish_user,把指定的用户ID用逗句隔开放在这里,我想当然的以为需要用in,其实并不需要,仔细分析一下:当需要显示信息列表时,用当前用户ID模糊查询即可: select * from info_table where publicsh_user like '%'+#user_id #+'% 这种方式性能应该高于2楼加关联表的方式。
select b.* from 用户表 a, 信息表 b, 表C
where a.ID = c.用户ID and b.ID = c.信息表ID
and a.ID = 某某用户
select * from info_table where publicsh_user like '%'+#user_id #+'% 这种方式性能应该高于2楼加关联表的方式。