我正在过滤 Denodo 中 2 个表的票证,这些表记录了对票证所做的所有操作的历史记录。我想要的是看到列关键字是 Null 并且列模板不是“temp~”。我能够完美地达到第一个条件,但第二个没有。好吧,该列中的行不再返回“temp~”,但由于它是历史表,它确实返回了对票证执行的其他操作,例如。保存,完成,完成,所以它仍然返回我试图过滤的我不想要的票号。
SELECT A.ticket_number, A.created_on, A.keywords, B.Action
FROM table1 AS A LEFT JOIN
(SELECT MAX(action) as Action, ticket_number
FROM table2 GROUP BY ticket_number) AS B on A.ticket_number= B.ticket_number
WHERE created_on>= '2019-04-15' AND(NOT B.Action= 'Templates~' AND A.keywords IS NULL)
Actual table:
ticket_number | created_on | keywords | Action
ticket1 | 2019-04-15 | dog | Template1
ticket1 | 2019-04-15 | dog | Save
ticket2 | 2019-04-17 | NULL | no_temp
ticket3 | 2019-04-20 | NULL | no_temp
ticket2 | 2019-04-17 | NULL | no_temp
Current results:
ticket_number | created_on | keywords | Action
ticket1 | 2019-04-15 | NULL | Save
ticket2 | 2019-04-17 | NULL | working
ticket3 | 2019-04-20 | NULL | Save
ticket2 | 2019-04-17 | NULL | complete
Expected results:
ticket_number | created_on | keywords | Action
ticket2 | 2019-04-17 | NULL | no_temp
ticket3 | 2019-04-20 | NULL | no_temp