我需要按如下方式列出客户名称对;在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同一张桌子是要走的路。您可能会遇到歧义错误,因为查询中有两个表具有相同的名称。您需要表别名,因此您可以将这两个表实例视为它们是不同的表。 –