【发布时间】:2019-03-13 13:13:32
【问题描述】:
这是我正在尝试运行但出现错误的内容。有什么想法吗?
SELECT
Client_Account_Name,
(
select Distinct t1.Contact_email as temp3
from Order_Log_SFDC t1
inner join
(
select max(Event_Date_Time) Event_Date_Time, Client_Account_Name
from Order_Log_SFDC
group by Client_Account_Name
) t2 on t1.Client_Account_Name = t2.Client_Account_Name
and t1.Event_Date_Time = t2.Event_Date_Time
) as Email,
MIN(Source) as source,
SUM(Final_Quote) as Total,
MIN(Event_Date_Time) AS min_date,
Max(Event_Date_Time) as max_date,
count(Distinct Event_Date_Time) as numOrders
FROM Order_Log_SFDC
Group By Client_Account_Name
这是错误:
SQL 错误 [512] [21000]: 子查询返回的值超过 1 个。
当子查询跟随 =、!=、、>= 或当子查询用作表达式时,这是不允许的。
SQL 错误 [512] [21000]: 子查询返回超过 1 个值。
当子查询跟随 =、!=、、>= 或当子查询用作表达式时,这是不允许的。
SQL 错误 [512] [21000]: 子查询返回超过 1 个值。
当子查询跟随 =、!=、、>= 或当子查询用作表达式时,这是不允许的。
SQL 错误 [512] [21000]: 子查询返回超过 1 个值。
当子查询跟随 =、!=、、>= 时,这是不允许的 或者当子查询用作表达式时。
子查询返回超过 1 个值。当子查询跟随 =、!=、、>= 或子查询用作表达式时,这是不允许的。
游标未声明。
【问题讨论】:
-
您好,欢迎来到 SO。鉴于错误消息,我猜您正在使用 sql server?标记为 mysql sql server 时必须小心。此错误是因为您将子查询作为列。如果该子查询返回超过 1 行,则引擎不知道如何处理它。不太确定为什么这里有三个查询都打到同一张表。 Here 是一个很好的起点。
标签: sql-server