【问题标题】:Select Column Twice With Different Conditions使用不同的条件两次选择列
【发布时间】:2017-09-23 13:20:06
【问题描述】:

我有两个表,表 1 和表 2,表 1 有 member_id,名字和姓氏, 表2有buyer_id和seller_id 我想在一行中选择买家和卖家的名字和姓氏

    Table_1
   member id | firstname | lastname
    1        |  John     |  Richard
    2        | Joseph    |   Curly
    3        |  Ismail   |  Jake
    4        | Elijah    |   Michael

    Table_2
  seller_id  | buyer_id|
    2        |     1   |
    3        |     4   |

我一直在尝试返回一个包含这样行的表

 seller_id | buyer_id | firstname | lastname | firstname | lastname|
     2     |   1      |    Joseph |   Curly  |  John     | Richard |

我使用的查询是

SELECT a.firstname,a.lastname,a.firstname,a.lastname,b.seller_id,b.buyer_id
        FROM Table_1 as a,Table_2 as b WHERE b.buyer_id = a.member_id

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    您需要加入table_1 两次(一次加入seller_id,一次加入buyer_id

    SELECT 
        a.firstname
        ,a.lastname
        ,c.firstname
        ,c.lastname
        ,b.seller_id
        ,b.buyer_id
        FROM Table_2 as b
        INNER JOIN Table_1 as a ON a.member_id = b.seller_id
        INNER JOIN Table_1 as c On c.member_id = b.buyer_id
    

    【讨论】:

    • 非常感谢。我会马上试试这个我不太了解表连接
    • 您需要解释还是不明白答案?
    • 看在皮特的份上。整整6分钟了,你在乞求接受?给可怜的家伙一个阅读和理解答案的机会。
    • @scaisEdge 如果你能解释一下,我会很感激的。我刚刚试了一下,效果很好。非常感谢
    • 连接允许获取相关表之间的信息..在这种情况下,您有两组信息来自同一个表(表 2),一组是 Seller_id 的信息,然后您必须使用连接表 2 Seller_di 一个用于buyer_id,您必须通过buyer_id 加入表2 .. 检索正确的信息,在这两种情况下使用的表都使用别名a 和c 重命名,因此SQL 可以访问不同的信息集.. 希望这是清除
    猜你喜欢
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-20
    相关资源
    最近更新 更多