比较来自世界各地的卖家的域名和 IT 服务价格

ORA-00904: 不合法的识别符 00904. 00000 - " %s: 不合法的识别符"

在执行查询时 sqldeveloper 我得到一个错误

"%s: 不合法的识别符"

. 原则上,我想组合两列 TABLE 1 并将其与一列进行比较 TABLE 2. 两张表来自两个不同的数据库。 出于某种原因,他不喜欢假名 t1_Name.


select t1.First_name ||' '|| t1.Last_Name as t1_Name, t2.*
from table1 t1, table2 t2
where t1.t1_Name = t2.Account_name;


任何反馈都会感谢我如何解决它。
已邀请:

卫东

赞同来自:

您不能使用列表中定义的伪名义
SELECT

提出要求
WHERE

. 逻辑,建议
WHERE

它是首先处理的,所以还没有假名。

您要么需要重复计算


select t1.First_name ||' '|| t1.Last_Name as t1_Name, t2.*
from table1 t1, table2 t2
where t1.First_name ||' '|| t1.Last_Name = t2.Account_name;


或者您需要确定内置视图中的别名


select t1.t1_name, t2.*
from /select t1.First_name ||' '|| t1.Last_Name as t1_Name
from table1 t1/ t1
join table2 t2
on/ t1.t1_name = t2.account_name /

风见雨下

赞同来自:

如果您的两个表位于不同的数据库中,则必须使用链接到数据库。 假设表格 1 在数据库中 db1, 一张桌子 2 - 在数据库中 db2. 你的申请 /假设您运行请求 db1/ 它应该如下所示:


SELECT t1.First_name ||' '|| t1.Last_Name as t1_Name, t2.* 
FROM table1 t1, table2@db2 t2 WHERE t1.t1_Name = t2.Account_name;


有关更多信息,您可以在这里找到:
http://docs.oracle.com/cd/B283 ... 2.htm

诸葛浮云

赞同来自:

您可以使用子选举:


select * 
from /select t1.First_name ||' '|| t1.Last_Name t1_Name, t2.*
from table1 t1, table2 t2/
where t1_Name = Account_name;


退房
[/url]
.

要回复问题请先登录注册