sql中select查询的一个简单问题

问题描述

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

sql中select查询的一个简单问题的相关文章

sql 中select语句问题

问题描述 sql 中select语句问题 求问:在做C#程序中,我sql查询语句: select InvtID,Descr ,User2, User2 from (SELECT Inventory.InvtID, Inventory.Descr, Inventory.User2,IA.User2 FROM Inventory LEFT OUTER JOIN InventoryAdg IA ON Inventory.InvtID=IA.InvtID )v 问题是我需要查询两张表的User2字段,可

为什么sql中模糊查询左百分号 无法用索引

问题描述 为什么sql中模糊查询左百分号 无法用索引 为什么sql中模糊查询左百分号 无法用索引,右百分号 却可以用索引? 解决方案 sql 中模糊查询转义 escape 解决方案二: 数据库一般都是前缀索引,所以支持模糊匹配在后面

初学者 用visual studio中的C#编写一个简单的电子词典 在线等 求帮助

问题描述 初学者 用visual studio中的C#编写一个简单的电子词典 在线等 求帮助 求大神用visual studio2010帮忙编一个简单电子词典的程序,在线等 新人初学者求帮助 解决方案 很简单啊,写个数组就行了 解决方案二: 如果是像上面这样的电子词典,很容易解决.1.使用INI进行保存条目.(想要了解INI可以参考:http://www.cnblogs.com/Ray-chen/archive/2011/11/14/2248496.html)2.使用StreamWriter来读

Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环_MsSql

用游标,和WHILE可以遍历您的查询中的每一条记录并将要求的字段传给变量进行相应的处理 ================== DECLARE @A1 VARCHAR(10), @A2 VARCHAR(10), @A3 INT DECLARE CURSOR YOUCURNAME FOR SELECT A1,A2,A3 FROM YOUTABLENAME OPEN YOUCURNAME fetch next from youcurname into @a1,@a2,@a3 while @@fetch

Sql server中时间查询的一个比较快的语句

server|比较|语句    在Access中进行时间的比较sql语句很简单,如Select * From table Where thetime>#"& Now() &"#这样即可    在MSSQL就不能这样,要用DateDiff语句和GetDate()函数进行比较.     如Select Count(*) From table Where DateDiff(s,GetDate(),thetime)>0,我自己特别做了个50万条数据的的表,执行这条语

MSSQL中时间查询的一个比较快的语句

比较|语句 在Access中进行时间的比较sql语句很简单,如Select * From table Where thetime>#"& Now() &"#这样即可 在MSSQL就不能这样,要用DateDiff语句和GetDate()函数进行比较. 如Select Count(*) From table Where DateDiff(s,GetDate(),thetime)>0,我自己特别做了个50万条数据的的表,执行这条语句差不多需要1200毫秒. 后来研

sql中生成查询的模糊匹配字符串_MsSql

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Sql]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_Sql] GO if exists (select * from dbo.sysobjects where id = object_id(N'[序数表]') and OBJECTPROPERTY(id, N'IsUserTa

sql中生成查询的模糊匹配字符串

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_Sql]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[f_Sql] GO if exists (select * from dbo.sysobjects where id = object_id(N'[序数表]') and OBJECTPROPERTY(id, N'IsUserTa

Java中使用正则表达式的一个简单例子及常用正则分享_java

import java.util.Scanner; public class regexTest { // 新建类 public static void main(String[] args){ // 主方法 Scanner sc = new Scanner(System.in); // new Scanner类对象 System.out.println("Please Enter Email:"); String email = sc.nextLine(); System.out.p