Oracle SQL-使用外键显示时出现问题

Oracle SQL-使用外键显示时出现问题,sql,oracle,Sql,Oracle,我试图显示所有的产品,显示它们已经售出的日期,但也显示所有尚未售出的产品 我有两张表:产品和销售。列名为: 产品 产品标识 产品名称 销售额 产品标识 销售日期 这两个表是使用prod\u id列链接的,但我似乎无法显示尚未销售的产品以及已销售的产品。我认为您需要在产品和销售之间使用左外连接: SELECT p.PROD_ID, p.PRODUCT_NAME, s.DATE_OF_SALE FROM PRODUCTS p LEFT OUTER JOIN (SELECT DISTI

我试图显示所有的产品,显示它们已经售出的日期,但也显示所有尚未售出的产品

我有两张表:
产品
销售
。列名为:

产品
  • 产品标识
  • 产品名称
销售额
  • 产品标识
  • 销售日期

这两个表是使用
prod\u id
列链接的,但我似乎无法显示尚未销售的产品以及已销售的产品。

我认为您需要在产品和销售之间使用左外连接:

SELECT p.PROD_ID, p.PRODUCT_NAME, s.DATE_OF_SALE
  FROM PRODUCTS p
  LEFT OUTER JOIN (SELECT DISTINCT PROD_ID, DATE_OF_SALE
                     FROM SALES) s
    ON (s.PROD_ID = p.PROD_ID)
现在不能玩它,但我认为它应该得到你想要的。您应该从产品中获取所有产品ID和产品名称,从销售中获取所有销售日期。如果没有产品的销售日期,您仍然应该看到该产品

分享和享受

SELECT p.prod_id, p.product_name, s.date_of_sale
FROM  products p
   ,  sales    s
WHERE s.prod_id(+) = p.prod_id  
;