当前位置:编程学习 > C#/ASP.NET >>

30跪求大伙帮这看看SQL语句~!~~顶这有分!不够++++

select a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID

我想聚合DealerID字段!请大伙帮忙!小弟感谢不仅!




--------------------编程问答-------------------- up! --------------------编程问答-------------------- up --------------------编程问答-------------------- 没有聚合函数就用group by ? --------------------编程问答-------------------- select a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID
这应该是错的,select中的字段如果没有加聚合函数就得出现在group by 中
--------------------编程问答-------------------- 加聚合函数 --------------------编程问答-------------------- 聚合函数不是你那样写的,
select a.DealerID,sum(总数),avg(平均数) from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID
这才是聚合函数 --------------------编程问答-------------------- select a.DealerID,sum(a.Dealerid),a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连国合%' and a.dealerid = c.dealerid and a.autoid = b.autoid GROUP BY a.DealerID


我这样加的聚合函数!但是出错了

---------------------------



服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.auto_price' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'a.auto_bj_date' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoBrand' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'b.AutoType' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.DealerID' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_name' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.pass_word' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_dw' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_dwj' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
服务器: 消息 8120,级别 16,状态 1,行 1
列 'c.user_main' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
--------------------编程问答-------------------- 顶 JF --------------------编程问答-------------------- up --------------------编程问答-------------------- 学习 --------------------编程问答-------------------- 可不可以先建立两个表的视图,然后在聚合 --------------------编程问答-------------------- mark --------------------编程问答-------------------- .....UP!高人出现呀! --------------------编程问答-------------------- up --------------------编程问答-------------------- select 
a.DealerID
from 
AutoPrice a 
inner join autoinfo b on a.autoid = b.autoid
inner join autodealer c a.dealerid = c.dealerid
where 
c.user_dwj like '%大连%' 
GROUP BY a.DealerID
--------------------编程问答-------------------- a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main
这些全部都要出来的话,需要在grpup by 中加上 group by a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main --------------------编程问答-------------------- 你需要选择所有的字段出来,但是还要按照DealerID聚合?
DealerID=1的时候后面出现的AutoID,auto_price不可能只有一个的,所以你这样的思路是不对的 --------------------编程问答-------------------- 前面的字段除了Group by后面的,其他的每一个都要加聚合函数才行 --------------------编程问答-------------------- 学习下 --------------------编程问答-------------------- 帮顶~~~ --------------------编程问答-------------------- 要获得的列全部加到group by 后面 --------------------编程问答-------------------- 呵呵,tianwenjun() 说得对 --------------------编程问答-------------------- select a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main 

from AutoPrice a,autoinfo b,autodealer c where c.user_dwj like '%大连%' and a.dealerid = c.dealerid and a.autoid = b.autoid 

GROUP BY a.DealerID,a.AutoID,a.auto_price,a.auto_bj_date,b.AutoID,b.AutoBrand,b.AutoType,c.DealerID,c.user_name,c.pass_word,c.user_dw,c.user_dwj,c.user_main --------------------编程问答-------------------- 为什么要聚合?? --------------------编程问答-------------------- 1.没有聚合函数就用group by ?
2.要获得的列全部加到group by 后面
select a.DealerID,
a.AutoID,
sum(a.auto_price) as price,
a.auto_bj_date,
b.AutoID,
b.AutoBrand,
b.AutoType,
c.DealerID,
c.user_name,
c.pass_word,
c.user_dw,
c.user_dwj,
c.user_main
 from AutoPrice a,autoinfo b,autodealer c 
where c.user_dwj like '%大连%' 
and a.dealerid = c.dealerid 
and a.autoid = b.autoid 
GROUP BY a.DealerID,
a.auto_bj_date,
b.AutoID,
b.AutoBrand,
b.AutoType,
c.DealerID,
c.user_name,
c.pass_word,
c.user_dw,
c.user_dwj,
c.user_main
感觉有点怪怪,还是把需求说出来把 --------------------编程问答-------------------- 聚合函数好象有问提,关注~~ --------------------编程问答-------------------- 看不懂
up! --------------------编程问答-------------------- 学习............帮忙顶 --------------------编程问答-------------------- 晕,都不知道你要做什么,你写出你的表和字段,再告诉大家你要做什么
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,