2016-07-29 7 views
2

支払いコードとタスクが一致しないトランザクションを返すクエリがあります。ただし、「給与」や「給与額」など、無視できるような2つの給与コードとタスクの組み合わせがあります。SQLクエリフィルタを作成するにはどうすればいいですか?

は次のようになりクエリを記述するためにそこの方法です:

select user, trxdate, paycode, task from TABLE 
where paycode <> task 
--unless when paycode = "Salary" the 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") 
) 
1

以下のクエリはpaycodeSalaryで、taskSalaryRegある場合を除き、paycode <> taskあなたのテーブルからすべてのレコードを選択します。

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" 
関連する問題