再谈 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,
相关文档:
表中主键必须为标识列,[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
//自己还可以加上一些查询 ......
表中主键必须为标识列,[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
//自己还可以加上一些查询 ......
create database test --建立test数据库
use test
create table BONUS --建立
(
ENAME NVARCHAR(10),
JOB NVARCHAR(9),
SAL FLOAT,
COMM FLOAT
)
create table DEPT --建立部门表
(
DEPTNO SMALLINT not null, --部门编号
DNAME NVARCHAR(14), --部门名
LOC NVARC ......
SQLPlus :http://www.orafaq.com/wiki/SQL*Plus_FAQ
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14261/sqloperations.htm
1. Transfer values from a sql scripts:
CNT=`sqlplus -s username/password1@dbname @getUVQuery_NULLCNT`;
Note : Remeber to use o ......
输入: select ID as 编号, NAME as 姓名, AGE as 年龄 from XXX
输出:
编号
姓名
年龄
要求是如果SQL变动, 仍然要显示出来所有的别名字段信息和数据.
因为现在Hibernate用的比较广泛, 所以优先考虑用Hibernate来实现, 结果发现如果是实体映射查询语句, 可以方便的用:List<String> Quer ......