我正在尝试获取加入日期相同的员工姓名,我的查询是
SELECT
PNAME
FROM
PROGRAMMER
WHERE
D0J IN (SELECT DOJ FROM PROGRAMMER GROUP BY DOJ HAVING COUNT(DOJ)>1)
这里DOJ
是加入日期,子查询给我两个日期。
我收到此错误
ORA-00904: "D0J": invalid identifier
我做错了吗?请帮帮我
答案 0 :(得分:3)
是。 : - )
您的WHERE
使用D0J IN
(请注意/
中的0
),这是错误提及的内容。您的子查询使用DOJ
(请注意/
中没有O
。)
WHERE
D0J IN (SELECT DOJ FROM PROGRAMMER GROUP BY DOJ HAVING COUNT(DOJ)>1)
^ ^ ^ ^
| | | |
0 O O O
错误消息包括列名称中的/
:
ORA-00904: "D0J": invalid identifier
^
其中一个显然是拼写错误。由于错误消息表明它是/
的那个,它可能就是WHERE
之后的那个。
答案 1 :(得分:1)
试试这个。你做了D(zero)J
。为什么它显示"D0J": invalid identifier
..并使用正确的列名DOJ
SELECT
PNAME
FROM
PROGRAMMER
WHERE
DOJ IN (SELECT DOJ FROM PROGRAMMER GROUP BY DOJ HAVING COUNT(DOJ)>1)
^^^