繁体   English   中英

购买此产品的顾客也购买了此产品......帮助

[英]Customers who bought this also bought this… Help

嗨试图弄清楚这一点,看了很多地方,但由于我的表结构,我正在努力。 这是我的表结构:

用户 - id,登录(pk)

课程 - id(pk),名字

users_to_lessons - users_LOGIN(fk),lessons_ID(fk)

如何实施“购买此产品的客户还购买了这个......”功能?

我真的不明白你的问题以及你需要什么。
总之,假设你的用户使用id = my_user_id得到使用id = my_lesson_id一个教训,你想知道谁得到my_lesson_id其他用户的所有课程,试试这个:

SELECT DISTINCT l.id, l.name, COUNT(l.id) as rank
FROM lessons l JOIN users_to_lessons ul
ON l.id = ul.lessons_ID
WHERE l.id<>my_lesson_id AND
  ul.users_LOGIN IN
  (SELECT DISTINCT us.login FROM users us
   JOIN users_to_lessons ls ON us.login = ls.users_LOGIN
   WHERE ls.lessons_ID = my_lesson_id
      AND us.id<>my_user_id)
GROUP BY l.id
ORDER BY rank DESC, l.name    

尝试以下方法之一:

select 
    lessons_ID 
from 
    users_to_lessons
where 
    user_LOGIN IN
    (
        select 
            user_LOGIN 
        from 
            users_to_lessons
        where   
            lessons_ID = 1
    )
AND 
    lessons_ID <>1
;

select 
    ul2.lessons_ID
from 
    users_to_lessons ul1
inner join 
    users_to_lessons ul2
on 
    ul1.user_LOGIN = ul2.user_LOGIN
where 
    ul1.lessons_ID = 1
AND 
    ul2.lessons_ID <> 1
;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM