sql - SQL 特定的查询更正
问题描述
谁能告诉我,这个查询有什么问题,我是使用 Oracle APEX 的学生。我收到了这个错误:ORA-00918: column ambiguously defined
SELECT t.BandDesc, TypeDesc, CustomerID, PaymentAmount, TotalPayment FROM
(SELECT Room_Dim.BandDesc, Room_Dim.TypeDesc, CustomerID, PaymentAmount
FROM Room_Dim, Fact_Bookings_Payments
WHERE Room_Dim.RoomID = Fact_Bookings_Payments.RoomID)t
LEFT JOIN
(SELECT ConcertID, CustomerID, TotalPayment
FROM Fact_Buy)t2
ON t.CustomerID = t2.CustomerID;
我需要找到:对于每个房间乐队和音乐会,产生 4 星级 TypeDesc 房间的累积收入
解决方案
t
并且t2
两者都有一个CustomerId
并且您在连接条件中使用它;但是,在您选择的第一行CustomerId
没有指定它来自哪个表。这可能是错误的来源。
SELECT t.BandDesc,
TypeDesc,
t.CustomerID, -- Either this
t2.CustomerID, -- Or this
PaymentAmount,
TotalPayment
FROM (
SELECT Room_Dim.BandDesc,
Room_Dim.TypeDesc,
CustomerID,
PaymentAmount
FROM Room_Dim
INNER JOIN Fact_Bookings_Payments
ON Room_Dim.RoomID = Fact_Bookings_Payments.RoomID
) t
LEFT JOIN (
SELECT ConcertID, CustomerID, TotalPayment
FROM Fact_Buy
) t2
ON t.CustomerID = t2.CustomerID;
推荐阅读
- ms-access - Access - 有没有办法覆盖 MS Access 数据库的旧数据
- jhipster - 如何在 Jhipster 中定义和对象集合?
- excel - 如何使用 Excel 作为数据源并在 UIPath 中执行 SQL 查询
- r - 绘制具有不同长度的 2 个变量以显示比例,而不是绝对数字
- docker - 如何在 Dockerfile 中卸载 docker 卷?
- c# - Azure 功能:在 MAIL FROM [DB6P189CA0021.EURP189.PROD.OUTLOOK.COM] 期间,客户端未经过身份验证以发送匿名邮件
- python - Django 通道:连接到套接字
- nested - TYPO3:带有嵌套 For 循环的 If 语句的内联表示法
- node.js - nodejs base64到blob的转换
- gitlab - 如何在 gitlab 项目页面中隐藏冗余(auto devops kubernetes CI/CD)按钮