首页 > 其他 > 详细

单行显示三级分销记录(同表自join)

时间:2018-10-16 13:06:01      阅读:179      评论:0      收藏:0      [点我收藏+]

1)首先是一个简单的三级分销(邀请与被邀请),表结构是酱紫的

CREATE TABLE `d_user_invite` (
  `invite_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_id` int(11) NOT NULL DEFAULT 0,
  `phone` varchar(50) DEFAULT NULL,
  `invite_user_id` int(11) NOT NULL DEFAULT 0,
  `invite_user_phone` varchar(50) DEFAULT NULL,
  `add_date_time` int(11) NOT NULL,
  PRIMARY KEY (`invite_id`),
  KEY `ind_invite_userlD` (`user_id`) USING BTREE,
  KEY `ind_invite_inviteUserID` (`invite_user_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

2)插入几条测试数据

技术分享图片

 

3)然后 sql 是酱紫的(自己 join 自己,同表自 join)

SELECT
    `a`.`user_id` AS `uid`,
    `a`.`phone`,
    `a`.`invite_user_id` AS `suid`,
    `a`.`invite_user_phone` AS `sphone`,
    `b`.`invite_user_id` AS `ssuid`,
    `b`.`invite_user_phone` AS `ssphone`
FROM
    `d_user_invite` `a`
LEFT JOIN `d_user_invite` `b` ON `b`.`user_id` = `a`.`invite_user_id`
WHERE
    `a`.`user_id` <> `b`.`invite_user_id`

 

4)查询结果

技术分享图片

 

还是觉得蛮神奇,蛮强大的,记录一下~

 

单行显示三级分销记录(同表自join)

原文:https://www.cnblogs.com/tujia/p/9797229.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!