需要在MYSQL中的同一日期的多个记录的列中搜索缺少一个值的记录

时间:2014-12-31 15:52:26

标签: mysql database

我在mysql db

中有以下示例数据
SC_ID   PAY_TY  PAY_SB_TY FY      PAY_DT       AMOUNT
S01     CASH              2014    12302014     142
S01     CREDIT  AE        2014    12302014     150
S01     CREDIT  Debit     2014    12302014     11
S01     Debit   DEBIT     2014    12302014     10
S01     CREDIT  visa      2014    12302014     23
S01     CREDIT  visa New  2014    12302014     12.5

这些是2014年12月30日的一个日期的记录,我需要找到没有“签证”记录的日期 即所有行都存在但PAY_SB_TY ='visa'不存在。

请建议怎么做

1 个答案:

答案 0 :(得分:2)

使用where not exists子句。

SELECT *
FROM tbl t
WHERE NOT EXISTS
  (SELECT 1 FROM tbl
   WHERE Pay_SB_Ty='Visa'
   AND Pay_Dt = t.Pay_Dt)