發這個賬號只是為了在找不到/消耗我的本地資源后問這個問題,所以我來找大家。
我正在嘗試加入兩個表 - 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 是無效識別符號,即使它不應該是。
這也是我正在使用的表格,以防需要背景關系幫助。
uj5u.com熱心網友回復:
無論如何,產生您想要的結果的查詢應該采用以下形式:
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),查詢將變得更容易閱讀和撰寫。
uj5u.com熱心網友回復:
您必須將 JOIN 或 INNER JOIN 添加到您的查詢中。因為資料來自兩個不同的表,所以 WHERE 子句不會同時選擇這兩個表。
FROM Orders INNER JOIN Customers ON Orders.order_Customer_Number = Customer.Cust_Customer_Number
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/339564.html
