MySQL表实现自关联,找出你喜欢我,我喜欢你的数据

select 
t1.self_user_id , t1.like_user_id 
from sys_activity_user_like t1 inner join sys_activity_user_like t2 on t1.self_user_id = t2.like_user_id and t2.self_user_id = t1.like_user_id 
where t1.self_user_id  = 1

sql语句如上所示:从sys_activity_user_like这个表中内关联即可,表结构如下所示:

CREATE TABLE `sys_activity_user_like` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `self_user_id` bigint(20) DEFAULT NULL COMMENT '用户ID',
  `like_user_id` bigint(20) DEFAULT NULL COMMENT '心动用户ID',
  `activity_id` bigint(20) DEFAULT NULL COMMENT '活动ID',
  `status` tinyint(4) DEFAULT '1' COMMENT '状态(0.删除;1.正常)',
  `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COMMENT='用户参加活动心动对方表'

其实就是从关系表中,查询出相互有关系的数据,实现方式就是MySQL的表的自关联。

posted @ 2023-05-02 16:19  郭慕荣  阅读(88)  评论(0编辑  收藏  举报