私はこのクエリを使用していくつかの情報を返します:
select tick.ticketid 'Ticket', tick.subject 'Sujet', FROM_UNIXTIME(tick.dateline) 'Reception', FROM_UNIXTIME(logs1.dateline) 'Verification', FROM_UNIXTIME(logs2.dateline) 'Debut trait.',
FROM_UNIXTIME(logs3.dateline) 'Fin trait.', tick.prioritytitle 'Priorite', tick.tickettypetitle 'Genre', tick.timeworked/60 'Temps de travail', tick.fullname 'Createur'
from swtickets tick, swticketauditlogs logs1, swticketauditlogs logs2, swticketauditlogs logs3
where tick.ticketid = logs1.ticketid
and tick.ticketid = logs2.ticketid
and tick.ticketid = logs3.ticketid
and logs1.actionmsg like '%to: Pre-analysis%'
and (logs2.actionmsg like '%to: Handled%' or logs2.actionmsg like '%to: In Progress%')
and (logs3.actionmsg like '%to: Pre-closed%' or logs3.actionmsg like '%to: Closed%')
group by tick.ticketid
swticketauditlogsテーブルの3倍を選択します。これは、クエリの各行に対して、テーブルの同じ列の3倍が必要ですが、他の条件が必要だからです。
私の問題は、このコードでは、テーブルswticketauditlogsの3つの条件のいずれかが尊重されない場合、チケットが選択されないことです。私が欲しいのは:
チケットが選択され、条件が尊重されていないフィールドは空白になります。
しかし、私はこれを行う方法を理解できません...
ご協力いただきありがとうございます。