如何在SQL中

时间:2019-07-18 23:04:32

标签: sql database join

我有一个表,试图将具有共同列ID的两个数据库连接在一起。分别进行查询,我得到了我想要的。将它们放在一起会出错,中央大声笑。

我希望桌子有  客户ID  package_id  顾客姓名 在一张桌子上

我用外部,完全,左右连接进行了尝试,得到“无法绑定多部分标识符”和“关键字”附近的语法不正确”。错误。

SELECT 
    TABLEA.customer_id, 
    TABLEA.package_id
FROM 
    TABLEA A
OUTER JOIN
    (
    SELECT
        TABLEB.customer_name,
        TABLEB.customer_id,


    FROM
        TABLEB B
    )
ON
    A.customer_id = B.customer_id

我得到“无法绑定多部分标识符”和“关键字”附近的语法不正确”。错误。

2 个答案:

答案 0 :(得分:0)

它有助于整齐地格式化代码以简化可读性。

SELECT A.customer_id, A.package_id 
FROM TABLEA A 
    OUTER JOIN (SELECT customer_name, customer_id,
                FROM TABLEB) B ON A.customer_id = B.customer_id

答案 1 :(得分:0)

三件事:

  • 您需要一个表别名。
  • OUTER JOIN(通常)没有任何意义。您需要先使用FULLLEFTRIGHT
  • 为表声明表别名后,就需要使用它。

所以:

SELECT TABLEA.customer_id, TABLEA.package_id
FROM TABLEA A LEFT OUTER JOIN
     (SELECT B.customer_name, B.customer_id,
      FROM TABLEB B
     ) B
     ON A.customer_id = B.customer_id;

此查询实际上是荒谬的,因为您只从第一个表中进行选择。但这确实说明了语法。