2016-10-03 39 views
0

查找不同表的行中的行我試圖選擇那些與學生具有相同出生月份的教師行, 「SQL錯誤:ORA-00904:」MONTH「:無效標識符」是顯示的錯誤。SQL - 命令從同一個D.O.B

SELECT STUDENT.FIRSTNAME, STUDENT.DOB, FACULTY.FIRSTNAME, FACULTY.DOB 
FROM STUDENT, FACULTY 
HAVING MONTH(STUDENT.DOB) = MONTH(FACULTY.DOB); 
+0

嘗試改變'having'到'where'(或將其移動到一個實際的'join' - 一般我建議你避免'from'子句中的逗號)...如果這不起作用,請發佈樣本數據和預期結果。 – sgeddes

+0

sgeddes說了什麼,並且語法是'extract(month from student.dob)'。 – mathguy

回答

1

你可以試試這個:

SELECT STUDENT.FIRSTNAME, STUDENT.DOB, FACULTY.FIRSTNAME, FACULTY.DOB 
FROM STUDENT, FACULTY 
where 
extract(month from STUDENT.DOB)=extract(month from FACULTY.DOB) 
+0

謝謝!這工作! –

+0

np,所以你可以勾選它作爲正確的答案。 (: –