【发布时间】:2021-07-22 14:37:36
【问题描述】:
我对 SQL 很陌生..我有两个表..联系人和地址..试图查看联系人在哪里有多个标记为家的地址。
我想显示两个表中的信息,其中 ra.cv__Contact__c(地址)对于多条记录是相同的,并且记录说地址类型是 home。当我删除我的计数功能行时,我确实看到所有地址标记为家的记录,但是当我输入时
FROM dbo.cv__Related_Address_Detail__c ra LEFT JOIN dbo.Contact c on c.Id=ra.cv__Contact__c
WHERE ra.cv__Contact__c=ra.cv__Contact__c AND ra.cv__Address_Type__c='home'
HAVING COUNT (ra.cv__Contact__c)>1
ORDER BY ra.cv__Contact__c;``
我收到此错误
列 'dbo.cv__Related_Address_Detail__c.cv__Contact__c' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。
当我添加分组时
FROM dbo.cv__Related_Address_Detail__c ra LEFT JOIN dbo.Contact c on c.Id=ra.cv__Contact__c
WHERE ra.cv__Contact__c=ra.cv__Contact__c AND ra.cv__Address_Type__c='home'
GROUP BY ra.cv__Contact__c
HAVING COUNT (ra.cv__Contact__c)>1
ORDER BY ra.cv__Contact__c;
我明白了
列 'dbo.cv__Related_Address_Detail__c.Contact_VIS_Number__c' 在选择列表中无效,因为它不包含在聚合函数或 GROUP BY 子句中。 消息 145,级别 15,状态 1,行 514 如果指定了 SELECT DISTINCT,则 ORDER BY 项必须出现在选择列表中。
帮助
【问题讨论】:
-
您需要什么帮助?错误告诉你问题是什么。 a)选择不在组中的东西,b)按不在组中的东西排序。想想看。你在期待什么?
-
我不明白这个错误..第一个错误说我需要 Group By.. 当我使用 group by 它给了我另一个错误。我删除了订单,但仍然收到该错误的第一部分。抱歉,我只是不明白该错误。我真的不想分组..我只想看到那些有> 1个地址被标记为家的人..无论我如何尝试计数都会给我一个错误..