DECLARE @原表 TABLE (
日期 VARCHAR(10),号码1 VARCHAR(10),号码2 VARCHAR(10),序号 INT,标记 VARCHAR(10) ,其它字段 VARCHAR(10) )
INSERT INTO @原表
SELECT '20060101', 'A1','B1', 1, 'Y' ,NULL UNION ALL
SELECT '20060101', 'C1','D1', 3, 'N',NULL UNION ALL
SELECT '20060102', 'C1','D1', 1, 'Y',NULL UNION ALL
SELECT '20070101', 'E1','F1', 4, 'N',NULL UNION ALL
SELECT '20070101', 'E1','F1', 3, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 6, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 9, 'Y',NULL
SELECT * FROM @原表 A SELECT * FROM @原表 A
WHERE EXISTS( SELECT 1 FROM @原表 WHERE 日期 > a.日期 AND 号码1 = a.号码1 AND 号码2 = a.号码2)
你是不要想得到这样?
日期 VARCHAR(10),号码1 VARCHAR(10),号码2 VARCHAR(10),序号 INT,标记 VARCHAR(10) ,其它字段 VARCHAR(10) )
INSERT INTO @原表
SELECT '20060101', 'A1','B1', 1, 'Y' ,NULL UNION ALL
SELECT '20060101', 'C1','D1', 3, 'N',NULL UNION ALL
SELECT '20060102', 'C1','D1', 1, 'Y',NULL UNION ALL
SELECT '20070101', 'E1','F1', 4, 'N',NULL UNION ALL
SELECT '20070101', 'E1','F1', 3, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 6, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 9, 'Y',NULL
SELECT * FROM @原表 A SELECT * FROM @原表 A
WHERE EXISTS( SELECT 1 FROM @原表 WHERE 日期 > a.日期 AND 号码1 = a.号码1 AND 号码2 = a.号码2)
你是不要想得到这样?
解决方案 »
- 怎么创建View?
- sql2005的问题
- Mssql 修改列的值显示无法编辑改单元怎么解决啊?
- SQL2000 导入 PowerDesigner 12
- ★★★★★高分求救大虾一简单问题,如何读出ntext型数据?急,在线等★★★★★
- 从Excel2000中向sql 2000中导入数据时出现了一个奇怪的错误~~~~~~~~
- 求教!!sql为了保持数据的完整性,才取了那些方法。
- excel导入sql数据库时,工作表名是全数字的,怎么写语句呀?
- 请教经验丰富的DS(难难难) :SqlServer2000中行锁定的问题(READPAST ROWLOCK UPDLOCK)
- 关于数据库恢复
- 关于sql 返回一个空表的问题
- 兄弟们帮满看一个问题吧!
日期 VARCHAR(10),号码1 VARCHAR(10),号码2 VARCHAR(10),序号 INT,标记 VARCHAR(10) ,其它字段 VARCHAR(10) )
INSERT INTO @原表
SELECT '20060101', 'A1','B1', 1, 'Y' ,NULL UNION ALL
SELECT '20060101', 'C1','D1', 3, 'N',NULL UNION ALL
SELECT '20060102', 'C1','D1', 1, 'Y',NULL UNION ALL
SELECT '20070101', 'E1','F1', 4, 'N',NULL UNION ALL
SELECT '20070101', 'E1','F1', 3, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 6, 'N',NULL UNION ALL
SELECT '20080101', 'P1','Q1', 9, 'Y',NULL
SELECT * FROM @原表 A
WHERE EXISTS( SELECT TOP 1 * FROM @原表 WHERE 日期 < a.日期 AND 号码1 = a.号码1 AND 号码2 = a.号码2)
我想得到查询结果为日期为20060102的记录
我觉得根据WHERE 日期 < a.日期条件应该是WHERE 日期 > a.日期 啊,可是条件改为WHERE 日期 > a.日期,得到的结果却是20060101的记录