【发布时间】:2019-10-01 01:25:40
【问题描述】:
我需要列出由其他客户推荐到书店的所有客户,列出每个客户的姓氏和进行推荐的客户#。
很简单,但我试图通过从同一个表和数据中列出推荐客户的名字和姓氏来添加到查询中。
被推荐的列是推荐他们的人的客户#。
SELECT lastname, a.referred || ' ' || a.firstname || ' ' || a.lastname "Referred By:"
FROM customers
WHERE referred =
(SELECT a.firstname, a.lastname FROM customers WHERE customer# = a.referred);
我的预期结果类似于
Lastname: Referred By:
Gina 1003 Leila Smith
收到此错误:
ORA-00904: "A"."LASTNAME": invalid identifier
00904. 00000 - "%s: invalid identifier"
我认为我可能需要在 SELECT 子句本身中进行嵌套选择是否正确? 谢谢。
【问题讨论】:
-
如果别名在同一个查询 FROM 子句中定义,则只能在 SELECT 子句中使用类似的别名。即 - SELECT alias_here.col FROM tab alias_here
-
您可以
left outer joincustomers 表将推荐信息返回到customers 表,也可以使用标量子查询检索选择列表中的详细信息。哪个对您的数据性能更高由您来测试。 -
不可能这样做。请分享一些示例数据和预期结果,以便我们从头开始重写您的 SQL。
-
您尚未在任何地方定义别名
a。 ???