【问题标题】:How do I create a view with three tables in Oracle SQL?如何在 Oracle SQL 中创建包含三个表的视图?
【发布时间】:2020-06-30 05:08:17
【问题描述】:

我正在尝试使用 Oracle Apex 中的三个表创建一个简单视图。我的三个表包括 SHOES、RELEASES 和 RETAILERS:

SHOES
-----
SHOE_ID
NAME
(etc)

RELEASES
--------
SHOE_ID
RETAILER_ID
RELEASE_DATE
(etc)

RETAILERS
---------
RETAILER_ID
NAME
(etc)

我想返回已发布鞋子的发布日期、鞋子名称和零售商名称。我尝试使用内部联接,但它一直返回错误——不确定我缺少什么。

CREATE VIEW RELEASES_BY_RETAILERS [RELEASE_DATE, SHOE, RETAILER] AS
SELECT RELEASES.RELEASE_DATE, SHOES.NAME, RETAILERS.NAME
FROM RELEASES
INNER JOIN SHOES ON SHOES.SHOE_ID = RELEASES.SHOE_ID
INNER JOIN RETAILERS ON RETAILERS.RETAILER_ID = RELEASES.RETAILER_ID;

我想要的结果是:

RELEASE_DATE      SHOE       RETAILER
-------------------------------------
2020-MAR-19       SHOE1      RETAILER1
2020-MAR-18       SHOE2      RETAILER3
(etc)

【问题讨论】:

  • 仅供参考,包含错误消息总是很有用的,而不仅仅是它返回错误的事实。

标签: sql oracle view inner-join oracle-apex


【解决方案1】:

您使用了错误的括号。您需要使用() 括号。

代码应如下所示:

CREATE VIEW RELEASES_BY_RETAILERS (RELEASE_DATE, SHOE, RETAILER)  -- code change here
AS
SELECT RELEASES.RELEASE_DATE, SHOES.NAME, RETAILERS.NAME
FROM RELEASES
INNER JOIN SHOES ON SHOES.SHOE_ID = RELEASES.SHOE_ID
INNER JOIN RETAILERS ON RETAILERS.RETAILER_ID = RELEASES.RETAILER_ID;

【讨论】:

猜你喜欢
  • 2021-06-21
  • 1970-01-01
  • 1970-01-01
  • 2018-11-03
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 2021-09-23
  • 1970-01-01
相关资源
最近更新 更多