2016-10-03 41 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,所以你可以勾选它作为正确的答案。 (: –