sql - 即使每个标识符都有效,SQL 也拒绝进行连接?(ORA-00904)
问题描述
在无法找到/使用我拥有的本地资源后,我只是想问这个问题,所以我来找大家。
我正在尝试根据作业中的问题加入两个表 - ORDERS 和 CUSTOMER
- 对于每个订单,列出订单号和订单日期以及下单客户的客户编号、姓氏和名字。
所以我要查找订单号、日期、客户编号和客户全名。
代码是这样的
SELECT ORDERS.ORDR_ORDER_NUMBER, ORDERS.ORDR_ORDER_DATE, ORDERS.ORDR_CUSTOMER_NUMBER, CUSTOMER.CUST_LAST, CUSTOMER.CUST_FIRST
FROM ORDERS, CUSTOMER
WHERE ORDERS.ORDR_CUSTOMER_NUMBER = CUSTOMER.CUST_CUSTOMER_NUMBER;
我在没有表标识符的情况下完成了这段代码,在 ORDERS.ORDR_CUSTOMER_NUMBER 周围加上了引号,两个表的别名,甚至在 SELECT 和 WHERE 中的 ORDR_ 之后都放了一个空格,以表示笑声,但没有任何效果。他们都在标题中不断出现错误(ORA-00904),说 [ORDERS.]ORDR_CUSTOMER_NUMBER 是无效标识符,即使它不应该是。
解决方案
无论如何,产生您想要的结果的查询应该采用以下形式:
select
o.ordr_order_number,
o.ordr_order_date,
c.cust_customer_number,
c.cust_last,
c.cust_first
from orders o
join customer c on c.cust_customer_number = o.ordr_customer_number
如您所见,如果您使用现代连接语法并且使用表别名(o
和c
),则查询变得更容易阅读和编写。
推荐阅读
- javascript - 如何使用按钮或在一定时间后更改图像?
- swift - Swift Combine,当只有一个发布者的值发生变化时,如何合并发布者和接收者?
- plotly - 分类分组条形图中的形状定位
- node.js - 如何在 Postman 中上传图像文件并使用 Express 和 Multer 回显相同的图像
- xamarin - 避免反射开销
- azure-devops - Azure yaml 文件中 imageRepository 中的条件分支名称
- xml - XSLT 1.0 - 检查允许的值集,如果找到则返回找到的值
- r - 使用 mapply 或 lapply 到嵌套列表
- android - 如何根据另一个视图的高度/宽度按比例设置视图高度/宽度?
- python - 如何创建累积收入图?