关于临时表使用,今天突然用到了临时表,一些sql语句顿时都想不起怎么来写了,今天请教同事头弄完了,特此整理下。...

if exists (select * from sysobjects where [name] = '#xx' and type='U')//在开头注意对于已经存在的临时表进行删除的操作,以防出错。

DROP TABLE #xx
BEGIN
 CREATE TABLE #xx
(
 dates DATETIME
)
INSERT INTO #xx//这里用到了要对临时表插入从现在时间开始的后7天的时间,没有找到好的方法,希望能有人指点一下。
  (
    dates
  )
VALUES
  (
    GETDATE()
  )
INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 1, GETDATE())
  )
INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 2, GETDATE())
  )
INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 3, GETDATE())
  )
INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 4, GETDATE())
  )
  INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 5, GETDATE())
  )
  INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 6, GETDATE())
  )
  INSERT INTO #xx
  (
    dates
  )
VALUES
  (
    DATEADD(dd, 7, GETDATE())
  )
SELECT d.rtuid,d.relayid,d.dates,boort.OnTime1,boort.OffTime1//下面就是简单的查询操作了。
FROM  
           (
               SELECT b.rtuid,
                      b.relayid,
                      c.dates
               FROM   B_RtuRelay b,
                      #xx c)
            d
           LEFT OUTER JOIN B_OnOffRealTime boort
           ON d.rtuid = boort.RTUID AND d.relayid = boort.RelayID AND CONVERT(VARCHAR(30),d.dates,11) = CONVERT(VARCHAR(30),boort.OnOffDate,11)
WHERE d.rtuid=05321112 AND boort.OnTime1 IS NULL
ORDER BY
       rtuid,
       d.RelayID,
       d.dates
DROP TABLE #xx
END

转载于:https://www.cnblogs.com/csharprainbow/archive/2010/10/19/1855605.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值