更新记录我有两个表我想要联盟和按日期排序的事件,我需要一个结果值,我可以分组记录的报告 - 在这种情况下code2
在工会选择查询
CREATE TABLE #tbl1 (code1 INT, codeDate DATETIME, code2 INT)
CREATE TABLE #tbl2 (code1 INT, codeDate DATETIME, code2 INT)
INSERT INTO #tbl1 VALUES(1, '01 jan 2013 12:00:00', 123)
INSERT INTO #tbl1 VALUES(2, '01 jan 2013 14:00:00', 123)
INSERT INTO #tbl1 VALUES(1, '01 jan 2013 15:00:00', 234)
INSERT INTO #tbl1 VALUES(2, '01 jan 2013 18:00:00', 234)
INSERT INTO #tbl2 VALUES(10, '01 jan 2013 12:10:00', 0)
INSERT INTO #tbl2 VALUES(20, '01 jan 2013 13:20:00', 0)
INSERT INTO #tbl2 VALUES(10, '01 jan 2013 15:10:00', 0)
INSERT INTO #tbl2 VALUES(20, '01 jan 2013 16:20:00', 0)
SELECT * FROM #tbl1 UNION SELECT * FROM #tbl2 ORDER BY CODEDATE
返回
code1 codeDate code2
1 2013-01-01 12:00:00.000 123
10 2013-01-01 12:10:00.000 0
20 2013-01-01 13:20:00.000 0
2 2013-01-01 14:00:00.000 123
1 2013-01-01 15:00:00.000 234
10 2013-01-01 15:10:00.000 0
20 2013-01-01 16:20:00.000 0
2 2013-01-01 18:00:00.000 234
我还想得到的code2
列中的值进行更新,以便在TBL 1日期值之间属于tbl2的记录具有从TBL 1的code2
值。 (行2,3,6 & 7结果),例如:
code1 codeDate code2
1 2013-01-01 12:00:00.000 123
10 2013-01-01 12:10:00.000 123
20 2013-01-01 13:20:00.000 123
2 2013-01-01 14:00:00.000 123
1 2013-01-01 15:00:00.000 234
10 2013-01-01 15:10:00.000 234
20 2013-01-01 16:20:00.000 234
2 2013-01-01 18:00:00.000 234
与UNION
这是可能的,或者我需要一种不同的方法?
请添加您正在使用的数据库是问SQL问题,oracle/postgess/mysql/mssql之间有很多不同之处...... – Sibster
Microsoft SQL 2012 – Matt
基于语法 –