I have two tables. Accounts ACC and FinancialTrans FT

我有两张桌子。账户ACC和FinancialTrans FT

The FinancialTrans table is as follows:

FinancialTrans表如下:

AcctID  TransTypeCode   DateOfTrans
123     TOLL            2016-06-06 00:00:00.000
123     TOLL            2016-06-02 00:00:00.000
123     TOLL            2016-04-28 00:00:00.000
123     PYMT            2016-03-11 00:00:00.000
123     TOLL            2015-12-22 00:00:00.000
123     TOLL            2015-12-22 00:00:00.000

The requirement is:
When any Accounts have NO 'TOLL' or 'PYMT' in the last 2 years print 'Flag'

要求是:当任何账户在过去2年内没有'TOLL'或'PYMT'时打印'Flag'

SELECT ACC.Field1
      ,ACC.Field2
      ,ACC.Field3
      ,ACC.Field4
      ,CASE WHEN  
        (SELECT Max(DateOfTrans) FROM FinanceTrans FT
         WHERE ACC.AccountID = FT.AcctID
               AND (TransTypeCode = 'TOLL' AND DateOfTrans >= DATEADD(year, -2, GETDATE()))
               AND (TransTypeCode = 'PYMT' AND DateOfTrans >= DATEADD(year, -2, GETDATE()))
             GROUP BY AcctID, TransTypeCode) IS NULL
        THEN 'Flag'
        ELSE ''
       AND AS NoNo_Flag

FROM Accounts ACC

WHERE Condition 1, Condition 2...

4 个解决方案

#1


2

try this one:

试试这个:

SELECT
    acc.*,
    CASE WHEN f.acctid IS NULL THEN 'flag' ELSE '' END AS flag_noTollOrPmt
FROM
    accounts acc LEFT OUTER JOIN
    (SELECT 
        AcctID, 
        MAX(DateOfTrans) AS max_dateOfTrans_TollOrPmt
    FROM 
        FinanceTrans 
    WHERE 
        DateOfTrans >= DATEADD(YEAR, -2, GETDATE()) AND
        TransTypeCode IN( 'TOLL' , 'PYMT') 
    GROUP BY 
        AcctID) f ON
    acc.acctid = f.acctid

更多相关文章

  1. 字体图标的引入和通过媒体查询改变导航样式
  2. HTML样式和常用选择器
  3. 字体图标的引用和自定义样式/媒体查询的使用
  4. 数据库的CURD操作、PDO本质与原理的学习
  5. CSS之伪类选择器和简单盒子简单案例
  6. 伪类选择器与盒模型常用属性
  7. 伪类选择器-结构伪类、根据位置选择匹配
  8. 7.4——常用标签与应用场景之表格与单元格
  9. css伪类选择器和盒模型

随机推荐

  1. PG认证
  2. 插入排序就这么简单
  3. Redis两种持久化机制RDB和AOF详解(面试常
  4. MyBatis入门
  5. MyBatis之Mapper XML 文件详解(一)
  6. 快速排序就这么简单
  7. PMP学习之49个子过程俚语版理解与速记
  8. 移动商城项目总结
  9. pgsql 修改字段类型为json
  10. Android:shape设置corners(圆角)不能正常显