帮忙找个错,谢谢

lvhaihua123 2010-06-04 11:02:25
select min(a.CustomersID), a.CustomersName, a.Type1, a.Type2, a.Type3, a.grade, a.tel, a.e_mail, a.address, a.linkman, a.linkMobile,a.mobile, a.Trade, a.Birthday, a.Relationship, a.remark, a.CreateDate, a.Brand, a.SalesVolume, a.CooperaStartime, a.CooperationEndtime, a.Allmobile
,b.cusTypeName as cusType1,c.cusTypeName as cusType2,d.cusTypeName as cusType3 FROM dt_Customers as a left join dt_customerType as b on a.Type1=b.cusTypeId
left join dt_customerType as c on a.Type2=c.cusTypeId left join dt_customerType as d on a.Type3=d.cusTypeId group by a.allmobile,a.CustomersName,a.linkMobile,a.mobile



消息 8120,级别 16,状态 1,第 8 行
选择列表中的列 'dt_Customers.Type1' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
...全文
120 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2010-06-04
  • 打赏
  • 举报
回复
最好能用数据来说话 谢谢
lvhaihua123 2010-06-04
  • 打赏
  • 举报
回复
其实我想解决的 是这样一个问题:

第二列是客户名称,第七列是客户的电话,编辑前面有一个手机就是客户的手机号,如果这三个信息相同就算是重复,不过重复记录中只有一个字段的值是不同的,就是业务员的手机号(客户就是业务员拜访的客户,可能有好几个业务员拜访过同一个客户,现在我只想让它显示客户信息,而不管他是哪个业务员的)
他们的编号是不同的,数据库中还有一个字段(allmobile),存储的是拜访过这个客户的所有业务员的手机号。重复记录中的这个字段的值是相同的:值是这样的(13645454654,135456487547,13554555566)

我就是想统计一下客户的信息,可是它会出现一些重复的数据

lvhaihua123 2010-06-04
  • 打赏
  • 举报
回复
哦。谢谢各位
luoyoumou 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 luoyoumou 的回复:]
引用 4 楼 lvhaihua123 的回复:
那样group by 里写的会不会太多了,有别的方法解决吗?


-- 当用group by分组时, 没有包含聚集函数(max、min、avg、sum 等函数)的字段都应该放到group by 里面!
[/Quote]

-- 这是硬规则!
luoyoumou 2010-06-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lvhaihua123 的回复:]
那样group by 里写的会不会太多了,有别的方法解决吗?
[/Quote]

-- 当用group by分组时, 没有包含聚集函数(max、min、avg、sum 等函数)的字段都应该放到group by 里面!
lvhaihua123 2010-06-04
  • 打赏
  • 举报
回复
那样group by 里写的会不会太多了,有别的方法解决吗?
老黎 2010-06-04
  • 打赏
  • 举报
回复
select min(a.CustomersID), a.CustomersName, a.Type1, a.Type2, a.Type3, a.grade, a.tel, a.e_mail, a.address, a.linkman, a.linkMobile,a.mobile, a.Trade, a.Birthday, a.Relationship, a.remark, a.CreateDate, a.Brand, a.SalesVolume, a.CooperaStartime, a.CooperationEndtime, a.Allmobile
,b.cusTypeName as cusType1,c.cusTypeName as cusType2,d.cusTypeName as cusType3 FROM dt_Customers as a left join dt_customerType as b on a.Type1=b.cusTypeId
left join dt_customerType as c on a.Type2=c.cusTypeId left join dt_customerType as d on a.Type3=d.cusTypeId group by a.allmobile,a.CustomersName,a.linkMobile,a.mobile,dt_Customers.Type1
chuifengde 2010-06-04
  • 打赏
  • 举报
回复
SELECT MIN(a.CustomersID),
a.CustomersName,
a.Type1,
a.Type2,
a.Type3,
a.grade,
a.tel,
a.e_mail,
a.address,
a.linkman,
a.linkMobile,
a.mobile,
a.Trade,
a.Birthday,
a.Relationship,
a.remark,
a.CreateDate,
a.Brand,
a.SalesVolume,
a.CooperaStartime,
a.CooperationEndtime,
a.Allmobile,
b.cusTypeName AS cusType1,
c.cusTypeName AS cusType2,
d.cusTypeName AS cusType3
FROM dt_Customers AS a
LEFT JOIN dt_customerType AS b
ON a.Type1 = b.cusTypeId
LEFT JOIN dt_customerType AS c
ON a.Type2 = c.cusTypeId
LEFT JOIN dt_customerType AS d
ON a.Type3 = d.cusTypeId
GROUP BY
[[[
a.allmobile,
a.CustomersName,
a.linkMobile,
a.mobile

]]]


上面的,select 列表中,除了红色的能出现外,其它的字段必须出现在聚合函数中
luoyoumou 2010-06-04
  • 打赏
  • 举报
回复
-- 错误已经很明显了,group by中缺少字段!
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 fredrickhu 的回复:]

最好能用数据来说话 谢谢
[/Quote]

数据可以说话哦。 小F 姐姐。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧