單行顯示三級分銷記錄(同表自join)

1)首先是一個簡單的三級分銷(邀請與被邀請),表結構是醬紫的sql

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)ui

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)查詢結果spa

 

仍是以爲蠻神奇,蠻強大的,記錄一下~code

相關文章
相關標籤/搜索