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

新手问一个问题

 我写的语句:
string sql1="select '百货MIS' as 分类,count(*) as 笔数, sum(jyje)as 交易金额,sum(sxf)as 手续费,sum(jsje) as 结算金额,'"+this.txt_date.Text.ToString()+"' as 清算日期 from dbo.CardPOS_Detail where qsrq='"+this.txt_date.Text.ToString()+"' and (zdh>=32112000 and zdh<=32112080)";
 string sql2="select '百货-超市-MIS' as 分类,count(*) as 笔数, sum(jyje)as 交易金额,sum(sxf)as 手续费,sum(jsje) as 结算金额, '"+this.txt_date.Text.ToString()+"' as 清算日期 from dbo.CardPOS_Detail where qsrq='"+this.txt_date.Text.ToString()+"' and ((zdh>=32112100 and zdh<=32112151) or (zdh>=32112201 and zdh<=32112230))";
string sql3="select '百货-备用POS'as 分类,count(*) as 笔数, sum(jyje)as 交易金额,sum(sxf)as 手续费,sum(jsje) as 结算金额 ,'"+this.txt_date.Text.ToString()+"' as 清算日期 from dbo.CardPOS_Detail where qsrq='"+this.txt_date.Text.ToString()+"' and  (zdh>=32112081 and zdh<=32112099)";
string sql4="select '百货-超市-POS'as 分类,count(*) as 笔数, sum(jyje)as 交易金额,sum(sxf)as 手续费,sum(jsje) as 结算金额 ,'"+this.txt_date.Text.ToString()+"' as 清算日期 from dbo.CardPOS_Detail where qsrq='"+this.txt_date.Text.ToString()+"' and  ((zdh>=32112237 and zdh<=32112241) or (zdh>=32112243 and zdh<=32112250))";

这是我写的几个SQL语句 都是查的同一张表 
只不过条件不一样而已 
我是用UNION ALL 连接在一起的
这样是不是很耗资源啊 
有没有简便的方法啊 
谢谢各位啊!!
--------------------编程问答-------------------- 哥。
这看得也太累了
一眼扫去发现一点
你全是字符串拼接
当心sql注入

--------------------编程问答-------------------- 看了头大



--------------------编程问答-------------------- 看着好晕 --------------------编程问答-------------------- 你那个as什么 的不用写 可以把查询出来的定义成数据源,绑定个控件,查询可以写个类
传参数就行了,耗不耗资源就不知道了,不过程序一读性不强,写的再好也没用,
要培养习惯,你写的再好 别人看不懂也不是好程序!
                                                             个人建议 --------------------编程问答-------------------- 写的什么阿
连个排版都没有
把垃圾代码拿去排版后再发上来
不要让人以为大学生写的都是这样垃圾代码 --------------------编程问答-------------------- 楼主发贴排版什么的在这里不重要,意思已经表达明白了。

我建议你在SQL Server区再发一个贴子问问吧。SQL Server执行效率方面的问题,那边这方面的专家比较多。 --------------------编程问答--------------------
引用 5 楼 zilong4460072 的回复:
写的什么阿
连个排版都没有
把垃圾代码拿去排版后再发上来
不要让人以为大学生写的都是这样垃圾代码

说了是新手了
朋友你没必要这么诋毁人吧!! --------------------编程问答--------------------
引用 6 楼 namhyuk 的回复:
楼主发贴排版什么的在这里不重要,意思已经表达明白了。

我建议你在SQL Server区再发一个贴子问问吧。SQL Server执行效率方面的问题,那边这方面的专家比较多。

谢谢这位朋友的回复。 --------------------编程问答-------------------- 看不懂  头大了 。。。。。。。。。。。。。。。。。。。悲剧 --------------------编程问答--------------------

string sql1="select '百货MIS' as 分类,count(*) as 笔数, sum(jyje)as 交易金额,sum(sxf)as 手续费,sum(jsje) as 结算金额,'"+this.txt_date.Text.ToString()+"' as 清算日期 from dbo.CardPOS_Detail where qsrq='"+this.txt_date.Text.ToString()+"' and ((zdh>=32112000 and zdh <=32112080) or(zdh>=32112081 and zdh <=32112099) or((zdh>=32112237 and zdh <=32112241) or (zdh>=32112243 and zdh <=32112250)))"; 

可以把它合成一句,就是条件不一样嘛! --------------------编程问答--------------------  很杯具,  你的代码,,, 估计有些leader 看见了会说: 要是我手下有谁这样写代码 , 直接fire了..
 话说, 如果是条件相同, 请勿使用union all 连接, 会影响读取效率 --------------------编程问答--------------------
引用 11 楼 tkascor 的回复:
很杯具, 你的代码,,, 估计有些leader 看见了会说: 要是我手下有谁这样写代码 , 直接fire了..
话说, 如果是条件相同, 请勿使用union all 连接, 会影响读取效率

他们就是条件不一样的!!!
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,