再谈 Sql 两行变一行 实例
要求: 按 lct1, lct2 排序后的前两条纪录,显示为下列结果:
item_cd1 item_cd2 lct
01 a A01-3 B01-1
建表准备:
IF EXISTS (SELECT TABLE_NAME from INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'm_lct_service')
DROP TABLE m_lct_service
GO
CREATE TABLE m_lct_service (
item_cd1 nvarchar(5) NOT NULL
,item_cd2 nvarchar(10) NOT NULL
,seq_no int NOT NULL
,lct1 nvarchar(3) NOT NULL
,lct2 nvarchar(3) NOT NULL
,stk_qty numeric(15,4)
,ins_emp_cd nvarchar(4) NOT NULL
,ins_date datetime NOT NULL
,upd_emp_cd nvarchar(4) NOT NULL
,upd_date datetime NOT NULL
,CONSTRAINT pk_m_lct_service PRIMARY KEY (
item_cd1
,item_cd2
,seq_no
,lct1
,lct2
)
)
GO
数据准备:
item_cd1 item_cd2 seq_no lct1 lct2 stk_qty ins_emp_cd ins_date upd_emp_cd upd_date
01 a 1 A01 3 20.0000 fan 2010-01-02 00:00:00.000 fan 2010-01-02 00:00:00.000
01 a 2 B01 1 20.0000 fan 2010-01-02 00:00:00.000 fan 2010-01-02 00:00:00.000
01 a 3 B01 4 20.0000 fan 2010-01-02 00:00:00.000 fan 2010-01-02 00:00:00.000
实际Sql:
select item_cd1,item_cd2,
case when (AA <> BB)
then AA + ' ' + BB
else AA
end as lct
from(
select item_cd1,item_cd2,min(lct) as AA,
相关文档:
UrlScan的3.1是一个安全的工具,限制了IIS的HTTP请求将处理类型。 通过阻止特定的HTTP请求,在URLScan 3.1安全工具有助于防止对服务器应用程序可能有害的请求。 UrlScan的3.1是URLScan 2.5的更新版本。支持IIS 5.1中,IIS 6.0和IIS 7.0在Windows Vista和Windows Server 2008。下载地址http://download.csdn.net ......
count语句支持*、列名、常量、变量,并且可以用distinct关键字修饰, 并且count(列名)不会累计null的记录。下面随便用一些例子示范一下count的规则:比如对如下表做统计,所有列这里都用sql_variant类型来表示。
if (object_id ('t_test' )> 0 )
drop table t_test
go
create table t_test (a ......
表中主键必须为标识列,[ID] int IDENTITY (1,1)
1.分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 页记录数量 *
from 表名
WHERE (ID NOT IN
(SELECT TOP (每页行数*(页数-1)) ID
from 表名
ORDER BY ID))
ORDER BY ID
//自己还可以加上一些查询 ......
Oracle
SQL
的优化规
则:
尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替
用IN写出来的SQL
的优点是比较容易写及清晰易懂,但是用IN的SQL
性能总是比较低的,从ORACLE
执
行的步骤来分析用IN的SQL
与不用IN的SQL
有
以下区别:
......
可以筛选数据,但不能是标准的SQL语句:
Me.DsUserManager1.Tables(0).Select("id > 5 and id <20")
---------------------------------------------------------------
1.筛选:
dataset.tables("tabname").select("id=1")'相当于SQL中WHERE后的条件内容
2.保存到哪?这倒是不知 ......