初学者使用计数和获取错误

问题描述

我对 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 项必须出现在选择列表中。

帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)