进来看,这个用sql怎么实现???

ivy_live521 2002-11-07 08:25:13
可不可以用select实现选取一个字段的后四位,单独输出一列?目的是要对这四位进行比较,最后把所有相同的记录汇总求和!
谢谢指点!^_^
...全文
30 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
j9988 2002-11-07
  • 打赏
  • 举报
回复
不知具体情况,看不出有什么可优化的。对它们建索引试试:
txmd_rktj.cpbh,ymj.txmd_pbsjy.pbbh
ivy_live521 2002-11-07
  • 打赏
  • 举报
回复
我还要关联另外一个表,取其中一个字段,作了个视图,这样写的查询,查不出来就超时了:(
SELECT RIGHT(txmd_rktj.cpbh, 5) AS cpgg, SUM(txmd_rktj.zms) AS zms,
ymj.txmd_pbsjy.ylgg
FROM txmd_rktj INNER JOIN
ymj.txmd_pbsjy ON SUBSTRING (txmd_rktj.cpbh, 4, 4) = ymj.txmd_pbsjy.pbbh AND
txmd_rktj.mdbh <> '1600000000' AND txmd_rktj.mdbh <> '1700000000'
GROUP BY RIGHT(txmd_rktj.cpbh, 5), ymj.txmd_pbsjy.ylgg
Drate 2002-11-07
  • 打赏
  • 举报
回复
MARK~


版主出手,一切搞定了!
CSDNM 2002-11-07
  • 打赏
  • 举报
回复
Try:

select *,right(field1,4) from tablename where ...

select right(field1,4) as x,sum(field2) as field2 from tablename where ...
group by right(field1,4)

select right(rtrim(field1),4) as x,sum(field2) as field2 from tablename where ...
group by right(rtrim(field1),4)

ivy_live521 2002-11-07
  • 打赏
  • 举报
回复
多谢大家
问题已解决!^0^~~~~~~~~~
结贴!!!
CSDNM 2002-11-07
  • 打赏
  • 举报
回复
必要的时候修改表结构,需要用函数来查询的结构很难优化的。
蓝天 2002-11-07
  • 打赏
  • 举报
回复
给视图建个索引!对表建索引可能用途不大

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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