问一个 sql拼接执行的问题

问题描述

今天回过头来看这个语句,感觉一些迷惑--动态SQL,指一个公司的值个数不定。declare@sqlvarchar(8000)set@sql='selectm.code,m.name'这里作为一个字符串select@sql=@sql+',max(casepxwhen'''+cast(pxasvarchar)+'''thenlinknameelse''''end)[linkname'+cast(pxasvarchar)+']'from(selectdistinctpxfrom(selectpx=(selectcount(1)fromtbwherecode=t.codeandlinkname<t.linkname)+1,*fromtbt)o)asa--为什么这里没有作为一个sql字符串呢set@sql=@sql+'fromtam,(selectpx=(selectcount(1)fromtbwherecode=t.codeandlinkname<t.linkname)+1,*fromtbt)nwherem.code=n.codegroupbym.code,m.name'exec(@sql)

解决方案

解决方案二:
在存储过程里吧
解决方案三:
看起来有点乱
解决方案四:
引用楼主sex_pig的帖子:

今天回过头来看这个语句,感觉一些迷惑--动态SQL,指一个公司的值个数不定。declare@sqlvarchar(8000)set@sql='selectm.code,m.name'这里作为一个字符串因为前面是一个“select”,而不是“set”将这个变量@sql和后面的sql语句组成了一个完整的sql语句,通过存储过程执行select@sql=@sql+',max(casepxwhen'''+cast(pxasvarchar)+'''thenlinknameelse''''end)[linkname'+cast(pxasvarchar)+']'from(selectdistinctpxfrom(selectpx=(selectcount(1)fromtbwherecode=t.codean…

解决方案五:
明白么?select将这个变量@sql和后面的sql语句组成了一个完整的sql语句,通过存储过程执行
解决方案六:
你是在拼接字符串吗?讲清楚点
解决方案七:
不过这段代码应该可以在查询分析器里执行,跟在存储过程里执行一样的

时间: 2024-09-14 10:28:23

问一个 sql拼接执行的问题的相关文章

max()-问一个sql问题,hour()获取日期的小时,然后给他赋值最大值,但是为什么出错了

问题描述 问一个sql问题,hour()获取日期的小时,然后给他赋值最大值,但是为什么出错了 hour(stat_time)=max(hour(stat_time))提示Invalid use of group function 解决方案 hour(stat_time)这个只能是获取,不能赋值 解决方案二: hour(stat_time)只是获取日期的小时,不能赋值的 解决方案三: 这样 stat_time = select max(hour(stat_time))

sql-询问一个SQL如何实现判断查询的问题

问题描述 询问一个SQL如何实现判断查询的问题 这是我现在的语句 strSql2.Append("SELECT a.SystemContractID, a.Income, a.TotalMargin, a.UserCode,a.StrategyID, b.StrategyName FROM OrderProfit_History as a INNER JOIN Strategy as b ON a.StrategyID = b.StrategyID"); OrderProfit_His

问一个SQL汇总的问题。帮忙写个查询语句。。谢谢!!解决后送分。

问题描述 MJRQSDMLQSDMJXLXDLDM---->(列名)56350481001001352627101003200001530----->(记录1)54352627205001350481001002200001530----->(记录2)54.2352627205001350481001002200001560----->(记录3)条件是RQSDM的前6位是'350481'或着LQSDM前6位是'350481'并且DLDM一样的满足上面三个条件的将MJ汇总帮帮忙写一个

问一个sql的问题

问题描述 我要把字符串替换成如下效果,sql如何写aabbaabbaaddaa替换成aabbaabbaaddcc意思就是只替换最后一个aa,其他的aa都不要换 解决方案 解决方案二:你可以在程序里替换后,在插入数据库啊解决方案三:stringss=aabbaabbaaddaa;ss=ss.substring(0,ss.Length-2)+"cc"; 解决方案四:declare@svarchar(50)set@s='aabbaabbaaddaaff'selectstuff(@s,len(

PLSQL_监控有些SQL的执行次数和频率

原文:PLSQL_监控有些SQL的执行次数和频率 2014-12-25 Created By 鲍新建 一.摘要 在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致. 如果执行频繁的SQL,往往容易遭遇一些并发性的问题. 那么如何查看ORACLE数据库某个SQL的执行频率/次数,潇湘隐者同学整理如下,借花献佛了 :)   方法1: 通过查询V$SQLAREA或V$SQ

ORACLE查看SQL的执行次数/频率

     在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致.如果执行频繁的SQL,往往容易遭遇一些并发性的问题. 那么如何查看ORACLE数据库某个SQL的执行频率/次数呢? 有哪些途径方法呢?   方法1: 通过查询V$SQLAREA或V$SQL的EXECUTIONS来查看SQL的执行次数,但是这个值的有效性需要结合FIRST_LOAD_TIME来判 断.因为V

Java下拼接执行动态SQL语句(转)

       在实际业务中经常需要拼接动态SQL来完成复杂数据计算,网上各类技术论坛都有讨论,比如下面这些问题:         http://bbs.csdn.net/topics/390876591         http://bbs.csdn.net/topics/390981627         https://www.linkedin.com/groups/SQL-Query-Help-needed-137774.S.5948812806903119877?trk=groups_i

sql server-一个不太懂.GraphView的人来问一个关于用.GraphView做完表格后坐标名称被挡住了的问题

问题描述 一个不太懂.GraphView的人来问一个关于用.GraphView做完表格后坐标名称被挡住了的问题 现在在做从sybase到sqlserver移行的工作 其中有一个部分是通过给出的数据做一个曲线图出来部分代码如下 Set objGraph = Server.CreateObject(""NplotWrapper.LogGraph"") . . . Response.BinaryWrite objGraph.GraphView(intQueryImgWid

sql 查询语句-在pb里面如何动态的执行一个sql语句

问题描述 在pb里面如何动态的执行一个sql语句 其效果是这样的: 在pb的界面上有省.市.区.街道四个字段 所以省需要管理到市,即在省的窗口里面 定义一个变量 在sql里面查询市时需要做到先把省查询出来,即为动态的实现查询市的结果 解决方案 PB动态SQL语句执行应用动态执行sql语句动态执行SQL语句