【问题标题】:Fetch name based on single query基于单个查询获取名称
【发布时间】:2020-11-12 16:44:47
【问题描述】:

需要以下查询的帮助,我无法弄清楚 我有两张桌子

表 1 - 用户

UserId  Name
------  ----
1       Abc
2       Xyz
3       Pqr
4       Ppp
5       AAA

表 2 - 订阅分配

UserId  PlanName  PurchasedBy
------  --------  -----------
1       Basic     3
2       Pro       3
4       Pro       5

(UserId 和 PurchasedBy 具有对 User 表中 UserId 的外键引用)。我想通过以下格式加入这两个表格来获取报告数据,让我们说

购买者=3

Name  PlanName  PurchasedBy
----  --------  -----------
Abc   Basic     Pqr
Xyz   Pro       Pqr

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您只需要加入这两个表,然后再加入到User 以输入购买用户的姓名。

    SELECT
        u1.Name,
        sa.PlanName,
        u2.Name AS PurchasedBy
    FROM User u1
    INNER JOIN SubscriptionAssignment sa
        ON sa.UserId = u1.UserId
    INNER JOIN User u2
        ON u2.UserId = sa.PurchasedBy
    WHERE
        sa.PurchasedBy = 3;
    

    Demo

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多