我需要按如下方式列出客戶名稱對;在Oracle Sql上使用不同標準在同一個表上列出對
> CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME
這樣每對顧客都有相同的郵政編碼(這也在customers表中)。
在任務有一個暗示它說
提示:您的輸出應該有四列:CUSTOMER_FIRST_NAME,CUSTOMER_LAST_NAME,CUSTOMER_FIRST_NAME,CUSTOMER_LAST_NAME
這是我至今寫的:
SELECT DISTINCT CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME, CUSTOMER_FIRST_NAME, CUSTOMER_LAST_NAME
FROM CUSTOMERS
WHERE CUSTOMER_ZIP = CUSTOMER_ZIP
但我不知道如何繼續,因爲我昨天才開始學習SQL。我也嘗試加入導致歧義錯誤的同一張表。
更新#1: 我已經寫了使用別名這個代碼由@ kpater87的建議
SELECT DISTINCT C1.CUSTOMER_FIRST_NAME, C1.CUSTOMER_LAST_NAME , C2.CUSTOMER_FIRST_NAME, C2.CUSTOMER_LAST_NAME
FROM CUSTOMERS C1
INNER JOIN CUSTOMERS C2
ON C1.CUSTOMER_ZIP = C2.CUSTOMER_ZIP
但是,即使我有一個不同的聲明,它會顯示重複的數據。這是預料還是我錯過了什麼?
提示:'JOIN','ON'。 –
'JOIN'是一個正確的方向。你能否表明你的查詢是在哪裏出現歧義錯誤?可能你錯過了列別名。 – kpater87
Jojning同一張桌子是要走的路。您可能會遇到歧義錯誤,因爲查詢中有兩個表具有相同的名稱。您需要表別名,因此您可以將這兩個表實例視爲它們是不同的表。 –