问题描述
- sql中select查询的一个简单问题
-
表A结构如下:
设备编号 预检日期
A01 2014-1-2
A02 2014-6-7
A01 2015-3-2
A02 2015-9-1
怎样写SQL语句会得到下面的结果集,注意,得到3列,表中原来两列
设备编号 2014预检日期 2015预检日期
A01 2014-1-2 2015-3-2
A02 2014-6-7 2015-9-1
各位大侠,困扰我一下午了。。。。
解决方案
这是SQL Server的写法。
SELECT ISNULL(a1.设备编号,a2.设备编号) AS 设备编号,
a1.预检日期 AS [2014预检日期],
a2.预检日期 AS [2015预检日期]
FROM (SELECT * FROM a WHERE DatePart(year,预检日期) = 2014) a1
FULL JOIN (SELECT * FROM a WHERE DatePart(year,预检日期) = 2015) a2
ON a1.设备编号 = a2.设备编号
时间: 2024-10-31 02:14:02