我只有mysql的工作知识。正常情况下,这是足够好,但我有这个问题,尽管在网上寻找一个可以理解的解决方案。
我有三张table:
用户
user_id
username
产品到用户
user_id (primary key)
security_id (primary_key)
产品
security_id (primary_key)
product_name
我需要获得与每个产品名称相关联的用户名。我提出了这个问题。
select username,product_name
from users
JOIN product_to_users ON users.user_id=product_to_users.user_id
JOIN product ON product.security_id=product_to_users.security_id;
我尝试创建一个到每个表的链接,这很好,但是我得到了
username product_name
bob prod1
bob prod2
我需要消除左列中的重复项,所以我需要去掉第二个bob。
我的研究揭示了三件事:需要一个左连接,可能不需要连接三个表,我可能必须使用in或exists。但是,我很难确定如何编写查询。有人能帮忙吗?谢谢!
1条答案
按热度按时间a8jjtwal1#
好吧,你可以把所有相同的产品
username
在具有聚合的同一行上: