SQL Server子选择语法错误

SQL Server子选择语法错误,sql,sql-server,subquery,Sql,Sql Server,Subquery,我试图执行一个subselect查询,但它给了我一个错误,我不确定我是否可以执行这种逻辑 SELECT (SELECT SERV_ACCT, ACCOUNT, SERV_ADDRESS FROM tblAPSData JOIN tblMEP_Meters ON tblMEP_Meters.ServiceAccount = tblAPSData.SERV_ACCT WHERE SERV_Acct = ServiceAccount AND INV_DATE > DATEADD(month,

我试图执行一个subselect查询,但它给了我一个错误,我不确定我是否可以执行这种逻辑

SELECT (SELECT SERV_ACCT, ACCOUNT, SERV_ADDRESS
FROM tblAPSData

JOIN tblMEP_Meters
ON tblMEP_Meters.ServiceAccount = tblAPSData.SERV_ACCT

WHERE SERV_Acct = ServiceAccount
AND INV_DATE > DATEADD(month, -6, getdate())
GROUP BY SERV_ACCT, ACCOUNT, SERV_ADDRESS
HAVING count(SERV_ACCT) = 1) AS AccountMeter

FROM tblMEP_Customers
这是错误消息: Msg 116,16级,状态1,第48行 当子查询未引入EXISTS时,只能在选择列表中指定一个表达式

我也有这个代码编译没有任何问题,我使用相同的逻辑,但不知道为什么它不工作。 当我运行该代码时,它会工作:

SELECT SiteName = tblMEP_Sites.Name, BillingMonth = DateTimeStamp,
    ElectricConsumption = (SELECT SUM(Consumption)
    FROM tblMEP_Meters (nolock)
    JOIN tblMEP_MonthlyData (nolock)
    ON MeterID = tblMEP_Meters.ID
    WHERE SiteID = tblMEP_Sites.ID
    AND Type = 1
    AND BillingMonth = DATEADD(month, -6, getdate()))

    FROM tblMEP_Customers

如果你减少上面的代码

SELECT (SELECT SERV_ACCT, ACCOUNT, SERV_ADDRESS
FROM tblAPSData 
....
) AS AccountMeter

FROM tblMEP_Customers
,您可以看到您正在尝试将3个字段
SERV\u ACCT、ACCOUNT、SERV\u ADDRESS
选择到
AccountMeter
中,这是不可能的。
在第二个示例中,只选择了一个值
SUM(Consumption)

由于我无法在您的
SELECT(…)AS AccountMeter
查询中检测到任何对tblMEP_客户的引用,因此我无法提供所需输出的解决方案