再谈 Sql 两行变一行 实例
来源:互联网 发布:学c语言编程有什么用 编辑:程序博客网 时间:2024/05/17 08:49
要求: 按 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,max(lct) as BB
from (select top 2 item_cd1, item_cd2,(lct1 + '-' + lct2) as lct from m_lct_service order by lct1 asc, lct2 asc) as t
group by item_cd1,item_cd2
) as t1
- 再谈 Sql 两行变一行 实例
- 用SQL将多行字符串数据转换成一行数据(实例)
- SQL实现多行变一行
- SQL 一列转一行
- sql 一行 换 多行多列
- sql 多行转成一行
- SQL 查找最后一行数据
- oracle 一行变多行,pl/sql
- SQL 将多个列拼接成一行
- SQL Server一行多列求最大值
- PL/SQL锁定一行记录
- sql 实例
- sql 实例
- SQL实例
- SQL实例
- SQL实例
- sql实例
- 数据一行变多行的SQL查询
- 第六章 MMI 菜单资源
- 判断当前用户是否打开了UAC(Vista or Win7 OS)
- 中文分词和TF-IDF
- 在android中增加curl
- 第七章 MMI图像资源
- 再谈 Sql 两行变一行 实例
- 删除windows.old
- 我的2009年总结
- UBF报表IIF使用方法
- 第八章 MMI 开始绘图
- test1
- varchar2字段查询出的数据长度是该字段定义的的长度
- test2
- test3