一条分组的SQL语句

wulinbazhu 2008-06-05 11:00:08
select b.ccode,b.name,sum(a.sysks),sum(a.sjks) from yspf_detail a,bmsm b where a.smcode=b.code and a.code='L0049' group by b.ccode,b.name


怎么把b.name这个不放在分组里,可又在查询里
把b.name放在分组里名称也必须相同才能查询我要的数据

例如:
1,2,3,4
2,2,2,2
3,3,3,3
2,1,2,2
我要的结果是
1,2,3,4
2,2,4,4
3,3,3,3


我要的结果是2,2(这个值取哪个都行),4,4


求高手帮忙
...全文
62 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccssddnnhelp 2008-06-11
  • 打赏
  • 举报
回复

ACCESS ADO访问时是JET-SQL

JET-SQL 参考 (如安装OFFICE选择帮助,则直接访问本机)
C:\Program Files\Common Files\Microsoft Shared\OFFICE11\2052\JETSQL40.CHM

JET-SQL 参考
http://download.csdn.net/source/351771

Access使用的是Jet-SQL。

JET SQL 帮助(jet4 access2000)下载地址
http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt= .
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-06-11
  • 打赏
  • 举报
回复

select 编码,min(名称),sum(数量)
from tab_bb
group by 编码


很简单的问题,20分够了,关键是你要说清楚你的需求。.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
wwwwb 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 ccssddnnhelp 的回复:]
SQL codeselect编码,min(名称),sum(数量)fromtab_bbgroupby编码

很简单的问题,20分够了,关键是你要说清楚你的需求。.
====思想重于技巧====

.
贴子分数 <20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
reply via CSDN viewer
[/Quote]

110 的名称是报
wulinbazhu 2008-06-11
  • 打赏
  • 举报
回复
不好意思没找到追加分的地方
WWWWA 2008-06-11
  • 打赏
  • 举报
回复
确实,所以用数据库一定要严谨。
wulinbazhu 2008-06-11
  • 打赏
  • 举报
回复
感觉挺麻烦的,我还有几个地方用到,这次用到还只是和一个表连接,

还是第一次见,
要把a公司的某个表的数据
导到b公司的某个表里

在a公司里的东西分的很仔细,
b公司就不太仔细了,b公司里一个名称的东西,到a公司分好几个名称郁闷



a公司n个名称的东西,要到B公司用一个名称代替并且他们的值也要加到一起真是麻烦





WWWWA 2008-06-11
  • 打赏
  • 举报
回复
加入ID,用以区分编码相同时,取最小OR最大ID的名称

select a.编码,b.名称, sm from (
select 编码,min(id) as ma,sum(数量) as sm from ttm group by 编码) a
inner join ttm b
on a.编码=b.编码 and a.ma=b.id

如对名称没有要求,直接MIN、MAX名称就可以了,严谨的方法是加入ID,取ID MIN、MAX,
再取相应的名称就可以了。
wulinbazhu 2008-06-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 WWWWA 的回复:]
呵呵,我是测试过的,没有问题
[/Quote]

这个问题我先放哪了没有做
把你的思路告诉我好吗,谢谢


WWWWA 2008-06-10
  • 打赏
  • 举报
回复
呵呵,我是测试过的,没有问题
wulinbazhu 2008-06-10
  • 打赏
  • 举报
回复
好的我试试看啊
wwwwb 2008-06-10
  • 打赏
  • 举报
回复
优化:
select a.编码,b.名称, sm from (
select 编码,min(id) as ma,sum(数量) as sm from ttm group by 编码) a
inner join ttm b
on a.编码=b.编码 and a.ma=b.id
加入ID,用以区分编码相同时,取最小OR最大ID的名称
wwwwb 2008-06-10
  • 打赏
  • 举报
回复
由于表中没有唯一标识的字段,加入ID,类型自增
select a.*,b1.mc from (
select 编码,sum(数量) from ttm group by 编码) a
inner join
(select a1.*,b.名称 as mc from (
select 编码,min(id) as ma from ttm group by 编码) a1
inner join ttm b on b.id=a1.ma and a1.编码=b.编码) b1
on a.编码=b1.编码
wulinbazhu 2008-06-10
  • 打赏
  • 举报
回复
谁会啊,帮帮我
wulinbazhu 2008-06-10
  • 打赏
  • 举报
回复
谁帮我解决我再加80分,100分全给你

上次发贴时就剩而20分了
wulinbazhu 2008-06-10
  • 打赏
  • 举报
回复
例如:我有个表tab_bb

编码 名称 数量
110 书 5
110 报 5
120 桌子 10
130 凳子 10


我要分组汇总查询要的结果是
编码 名称 数量
110 书 10
120 桌子 10
130 凳子 10


名称取书或报都可以
这样好实现吗?谢谢
wwwwb 2008-06-05
  • 打赏
  • 举报
回复
没有理解你的的意思
再做说明,
2,2,4,4 是怎样计算的?
结果是怎样得出的?

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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