sql语句总结
来源:互联网 发布:网络上p是什么意思 编辑:程序博客网 时间:2024/04/29 06:38
FROM (SELECT dbo.exec_state_proc.*
@so_id numeric,@so_amount numeric,@empcode nvarchar(5)
declare @allsum numeric,@qp_id numeric,@task_id numeric,@old_so_amount numeric
set @allsum=0
select @old_so_amount=so_amount from crmtest.dbo.tc_sales_order_m where
update crmtest.dbo.tc_sales_order_m set so_amount=@so_amount where
select
select @allsum=@allsum+so_amount from
update
select
update
insert into tracehistory (tablename,pkeyid,oldvalue,newvalue,alt_empcode) values('tc_sales_order_m',@so_id,@old_so_amount,@so_amount,@empcode)
GO
5)在sql中的查询分析器里调用存储过程使用exec produrename a1,b1,c1 如
若插入的为sql语句,则不需使用values.
insert into exec_state_Emp(subid, empcode, isAlert_Sys, isAlert_Mail, isAlert_SMS) select @subid,emp_code, isAlert_Sys, isAlert_Mail, isAlert_SMS from
exec_Module_SubEmp where msubid=@ModuleId
select
select @sql=@sql +email + ';'
对于查询结果为多条记录的情况下,此方法可以将某列的字段同时使用;连接起来。
----2007-12-21
存储过程中使用的列为变量
declare @oldplan nvarchar(50),@plan_time smalldatetime,@sql nvarchar(200)
set @oldplan='设计结束时间'
exec sp_executesql @sql,N'@plan_time smalldatetime
select @plan_time
---------2007-12-24
在执行insert、delete和update语句时,若是同时执行了多条记录,则不能影响触发器。
如delete from plan 则表plan 中的触发器将不会被执行。
可通过游标的方式逐条记录执行,将会执行触发器。
---------2007-12-26
select convert(nvarchar(10),plan_time,120) from plan_sub
这个查询语句,将会把plan_time如yyyy-mm-dd hh:mm:ss[.fff]格式转换为
yyyy-mm-dd字符串格式
----------2008-1-8
SELECT main_id,max(audit_date)
同事介绍在select语句中后面的字段除了为被分组的字段外(如例子中的main_id),只能是表达式了,如max ,min 等。可根据这两个字段作为关键字进行查找。
另外一种方法:
SELECT *,(SELECT TOP 1 audit_date
对audit_main中的每条记录进行查找筛选。
若写成这样:
SELECT TOP 1 dbo.audit_Sub.audit_Date
FROM dbo.audit_Sub INNER JOIN
ORDER BY dbo.audit_Sub.audit_Date DESC
将会得到一条记录。此语句是查询结果后取得最晚的一条记录。
----------2008-10-23
select a,b sum(c) from table1 group by a,b
查询语句中含有group by 时,select 后面的列字段只能包括group by后面的列或者是聚合函数(Sum、Min、Max、Count 和Distinct Count)
-----------2008-10-24
下面是网上找到的得行转换成列的代码
if object_id('pubs..tb') is not null
drop table tb
go
create table tb
(
月份 varchar(10),
蔬菜 varchar(10),
单位 varchar(10),
销售量 float
)
insert into tb(月份,蔬菜,单位,销售量) values('1月','白菜','斤',50)
insert into tb(月份,蔬菜,单位,销售量) values('1月','土豆','斤',30)
insert into tb(月份,蔬菜,单位,销售量) values('2月','白菜','斤',60)
insert into tb(月份,蔬菜,单位,销售量) values('2月','土豆','斤',40)
insert into tb(月份,蔬菜,单位,销售量) values('2月','黄瓜','斤',10)
insert into tb(月份,蔬菜,单位,销售量) values('3月','白菜','斤',5)
DECLARE @SQL VARCHAR(4000)
SET @SQL='SELECT 蔬菜,单位'
SELECT @SQL= @SQL+ ',sum(CASE WHEN 月份 = ''' + 月份 + ''' THEN 销售量 ELSE 0 END)['+月份+']' FROM (SELECT DISTINCT 月份 FROM tb) TAB
SET @SQL=@SQL+ ' FROM tb group by 蔬菜,单位 cube'
EXEC (@SQL)
',sum(CASE WHEN 月份 = ''' + 月份 + ''' THEN 销售量 ELSE 0 END)['+月份+']' FROM (SELECT DISTINCT 月份 FROM tb) TAB
等同于',['+月份+']=sum(CASE WHEN 月份 = ''' + 月份 + ''' THEN 销售量 ELSE 0 END)' FROM (SELECT DISTINCT 月份 FROM tb) TAB
其中 [ ] 括起来的内容表示是列的名称,可以根据内容动态的进行更新;
其中FROM (SELECT DISTINCT 月份 FROM tb) TAB取得各个月份(由于采用了group by所以月份要单独重新取得)。
declare @sql varchar(1000)
set @sql='select export_plan_yunguan.*,发货计划时间,发货执行时间,制造完成确认计划时间,制造完成确认执行时间 from export_plan_yunguan,(select 需求计划号 '
select @sql=@sql+',['+state_name+'计划时间]=max(convert(nvarchar(10),计划时间,120))'+',['+state_name+'执行时间]=max(convert(nvarchar(10),exec_end,120))' from (select distinct state_name from export_plan_yunguan1 ) t
set @SQL=@SQL + ' from export_plan_yunguan1 group by 需求计划号) as s where s.需求计划号=export_plan_yunguan.需求计划号'
exec(@sql)
上面代码是我学习后所写,由于使用了group by 需求计划号,只能取得需求计划号和聚合函数,若想取得计划时间,只好将其放到聚合函数中max(convert(nvarchar(10),计划时间,120))。
下面两段代码结果是一样的,
SELECT dbo.exec_Module.*FROM dbo.exec_Module INNER JOIN dbo.exec_Module_Sub ON dbo.exec_Module.MID = dbo.exec_Module_Sub.MID
select exec_module.* from dbo.exec_Module,exec_Module_Sub where dbo.exec_Module.MID = dbo.exec_Module_Sub.MID结果是一样的
所以我认为下面的两段代码结果应该是一致的,但是实际上A不能正常执行,B正常。
A:
declare
B:
declare
- 简单SQL语句总结
- SQL 语句总结
- SQL事务处理语句总结
- 日常sql语句总结
- SQL语句精华总结
- sql备份语句总结
- sql语句总结
- SQL语句教训总结
- sql语句总结
- 基本sql语句总结
- SQL事务处理语句总结
- sql 语句总结
- sql语句总结
- sql语句总结二
- SQL语句总结
- SQL常用语句总结
- sql 语句总结
- sql语句使用总结
- PHP 观察者模式 PHP SplSubject SplObserver 接口实现
- 关于内存泄露
- xcode4.2下创建及使用静态库
- 好图像代码处理个人网站
- 浅谈C中的malloc和free
- sql语句总结
- Android数据存储之Shared Preferences
- 选择正确的C/C++ Runtime Library
- JQuery和Prototype区别小结
- 关于edian大小端模式
- 优化网站的五种方法
- velocity实现页面静态化
- 提供一个网页抓取hao123手机号码归属地的例子
- 移动终端上看word文档