我有一个返回付费代码和任务不匹配的交易的查询。但是,有一些可以忽略的代码/任务组合,例如“Salary”/“SalaryReg”。
有没有办法编写类似的查询:
select user, trxdate, paycode, task from TABLE
where paycode <> task
--unless when paycode = "Salary" the task = "SalaryReg"
任何建议将不胜感激!谢谢!
答案 0 :(得分:1)
以下查询将选择表格paycode <> task
中的所有记录,paycode
为Salary
且task
为SalaryReg
的情况除外。
SELECT user,
trxdate,
paycode,
task
FROM yourTable
WHERE paycode <> task AND
(paycode <> "Salary" OR task <> "SalaryReg") -- this condition only kicks in when
-- paycode = "Salary" AND
-- task = "SalaryReg"
答案 1 :(得分:0)
select user, trxdate, paycode, task from TABLE
where paycode <> task
and not
(
(paycode = "Salary" AND task = "SalaryReg")
OR
(paycode = "Janitorial" AND task = "Cleaning")
OR
(paycode = "FrontDesk" AND task = "GreetingCustomers")
)