SQL:根据日期差异将数据插入到自由列中

时间:2015-11-30 10:38:33

标签: sql if-statement sql-insert etl business-intelligence

我遇到了问题。我是SQL的真正初学者。我从事BI项目,我需要创建数据仓库。

我目前的问题是:

我有一个表,我从外部Microsoft Access中推送数据。该数据包含两个日期(结算信息),如果付款有延迟,我需要在此表格中生成一个信息(名为YES的表格中有一个免费列,我需要生成NO / INSERT INTO TABLE billing, VALUES (YES) IF DATE1 > DATE2, ELSE VALUE (NO) 根据付款日期是否晚于"需要"付款日期

所以我想到这样的事情:

SELECT   NO_ORDRE
      ,[CODE_CLIENT]
      ,[DATE_CLOTUR_REEL]
        FROM [ORDRE]
    where CODE_CLIENT = '50929'
      AND DATEPART(YEAR,DATE_CLOTUR)=2015 AND DATEPART(MONTH,DATE_CLOTUR)=11
     -- order by NO_ORDRE,CODE_CLIENT

      EXCEPT

      SELECT [NO_ORDRE]    
      ,[CODE_CLIENT]
      ,DATE_CLOTUR_REEL
      FROM [LETTRE_VOIT]
       where CODE_CLIENT = '50929'
      AND DATEPART(YEAR,DATE_CLOTURE)=2015 AND DATEPART(MONTH,DATE_CLOTURE)=11

......我知道这不是SQL,只是为了得到这个想法。

如果有人知道可以帮助我的事情,我将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

Insert into table(col1,col2,col3) Select   
Case When Date 1> Date2 Then 'No' Else 'Yes' End as Col1,  
Case When Date 1> Date2 Then 'No' Else 'Yes' End as Col1,col3  from table 2


update tablename set Col8 = Case When Col3> Col4 Then 'No' Else 'Yes' End 

如果col3>上面的更新语句将适用于表中的所有行。 col4将更新为'否'如果没有,它会更新为“是”'。希望这很清楚