oldprogramer 2015-04-14 07:15 采纳率: 0%
浏览 1462

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
各位大侠,困扰我一下午了。。。。

  • 写回答

1条回答 默认 最新

  • Tiger_Zhao 2015-04-14 07:36
    关注

    这是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.设备编号
    
    评论

报告相同问题?

悬赏问题

  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败