【问题标题】:IN SQL INNER JOIN can you add two tables with different columns?IN SQL INNER JOIN 可以添加两个不同列的表吗?
【发布时间】:2021-01-13 08:47:02
【问题描述】:

您好,我目前是 SQL 新手。我试图从预订表中选择 checkindate 和 checkout 列,从客户表中选择名字和姓氏。这两个表共享一个公共列,即 customerID。谁能帮帮我!!

Booking table:
bookingID (pk)
checkindate
checkoutdate 
customerID (fk)

Customer table:
customerID (pk)
firstname 
lastname

【问题讨论】:

    标签: sql inner-join


    【解决方案1】:
    SELECT booking.checkindate, booking.checoutdate, customer.firstname, customer.lastname
    FROM booking 
    JOIN customer 
    ON booking.customerID = customer.customerID
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    【解决方案2】:

    您可以按如下方式使用内连接:

    SELECT B.customerid,
           B.checkindate,
           C.firstname ,
           C.lastname 
      FROM BookingTable b
      join CustomerTable c on b.customerid=c.customerid
    

    【讨论】:

    • 你必须写 B.Checkindate 而不是 C.Checkindate
    【解决方案3】:
    SELECT bt.customerid,checkindate,firstname ,lastname  
    FROM BookingTable bt inner join CustomerTable ct 
         on bt.customerid=ct.customerid
    

    【讨论】:

    • 永远不要使用这样的连接。使用标准 ANSI 连接。
    • 欣赏它。请在您的答案中使用 b.checkindate 而不是 c.checkindate。
    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 2013-12-05
    相关资源
    最近更新 更多