新手问一个问题
我写的语句: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执行效率方面的问题,那边这方面的专家比较多。 --------------------编程问答--------------------
说了是新手了
朋友你没必要这么诋毁人吧!! --------------------编程问答--------------------
谢谢这位朋友的回复。 --------------------编程问答-------------------- 看不懂 头大了 。。。。。。。。。。。。。。。。。。。悲剧 --------------------编程问答--------------------
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 连接, 会影响读取效率 --------------------编程问答--------------------
他们就是条件不一样的!!!
补充:.NET技术 , C#