Sql 嵌套查询问题,无效标识符错误
我正在Oracle 10 XE中运行以下查询,并获得[Err]ORA-00904:“Q”:无效标识符Sql 嵌套查询问题,无效标识符错误,sql,oracle10g,inner-join,Sql,Oracle10g,Inner Join,我正在Oracle 10 XE中运行以下查询,并获得[Err]ORA-00904:“Q”:无效标识符 SELECT questions.sb_title Q,questions.sb_baab_id,questions.sb_fasal_id,QUESTIONS.SB_CONTENT answer,IST.SB_PREFERENCE PREF FROM USER_QUESTIONS questions INNER JOIN USER ON QUESTIONS.SB_USER_ID = USER.
SELECT questions.sb_title Q,questions.sb_baab_id,questions.sb_fasal_id,QUESTIONS.SB_CONTENT answer,IST.SB_PREFERENCE PREF
FROM USER_QUESTIONS questions
INNER JOIN USER
ON QUESTIONS.SB_USER_ID = USER.SB_ID
INNER JOIN IST
ON IST.SB_ID = USER.SB_IST_ID
AND(Q LIKE '%where is%')
AND USER.SB_IST_ID =
(
Select issued.SB_IST_ID
FROM USER_REGISTER register_number
INNER JOIN USER_ISSUED issued
ON register_number.SB_REGISTER_NUMBER = ISSUED.SB_REGISTER_NUMBER
AND REGISTER_NUMBER.SB_REGISTER_NUMBER IN(1240)
)
您不能在连接条件中引用别名-请写出实际的列名:sb_title。我认为您不能像那样使用别名“Q”。如果在select子句中使用别名,则不要认为可以在ON子句中使用该别名。尝试使用完整的列名(sb_title)。如果我错了,请纠正我的错误,但是您不应该使用
作为声明别名吗?在Oracle中,别名不必使用AS关键字-在列之后提供别名就可以了。