impactid
そのため、9 つのテーブルを含むクエリがあり、workorderstates
テーブル内の が であってもすべてのレコードを返すように記述する必要がありますNULL
。
以下のクエリの前に、「オープン」であるすべての結果を取得していないことに気付きました。最初は、テーブル内のworkorderstates.impactid = impactdefiniton.impactid
場所と状況で、この条件が true にならないため、返されるべきレコードが除外されたためです。実際には「オープン」です。impactid
NULL
workorderstates
そのため、以下のクエリを考案しましたが、実行するたびに機能しません。一意でないテーブル エイリアスが返されますworkorder
。テーブルにエイリアスを使用すると、一意ではないため、結合内の正しいテーブルに移動します。クエリが機能するように、クエリの再構築について誰か助けてもらえますか? 私は多くのバリエーションを試しましたが、興味深いことに、2番目のクエリALMOSTは機能しますが、重複したレコードを返します(この場合、同じレコードの4つ)
select workorder.workorderid, workorder.siteid,
FROM_UNIXTIME(workorder.CREATEDTIME/1000, '%m-%d-%Y %H:%i:%s') as createdate,
categoryname, IFNULL(workorderstates.impactid, "No Set") as impactid,
IFNULL(impactdefinition.name, "Not Set") as impactname, first_name,
sdorganization.name, statusname, title
from workorder, statusdefinition, sitedefinition, sdorganization,
prioritydefinition, categorydefinition, sduser, aaauser, workorderstates
left Join impactdefinition on workorderstates.impactid = impactdefinition.impactid
left join workorder on workorder.workorderid = workorderstates.workorderid
left join workorderstates on workorderstates.statusid = statusdefinition.statusid
left join workorder on workorder.siteid = sitedefinition.siteid
left join sitedefinition on sitedefinition.siteid = sdorganization.org_id
left join workorderstates on workorderstates.categoryid = categorydefinition.categoryid
left join workorder on workorder.requesterid = sduser.userid
left join sduser on sduser.userid = aaauser.user_id
where statusname='Open' and workorder.createdtime >= '1352678400000'
and sdorganization.name='MAPL'
order by workorder.workorderid
ほとんど機能するが醜いクエリ (重複したレコードを返す):
select workorder.workorderid, workorder.siteid,
FROM_UNIXTIME(workorder.CREATEDTIME/1000, '%m-%d-%Y %H:%i:%s') as createdate,
categoryname, IFNULL(workorderstates.impactid, "No Set") as impactid,
IFNULL(impactdefinition.name, "Not Set") as impactname, first_name,
sdorganization.name, statusname, title
from workorder, statusdefinition, sitedefinition, sdorganization,
prioritydefinition, categorydefinition, sduser, aaauser, workorderstates
left Join impactdefinition on workorderstates.impactid = impactdefinition.impactid
where workorder.workorderid = workorderstates.workorderid
and workorderstates.statusid = statusdefinition.statusid
and workorder.siteid = sitedefinition.siteid
and sitedefinition.siteid = sdorganization.org_id
and workorderstates.categoryid = categorydefinition.categoryid
and workorder.requesterid = sduser.userid and sduser.userid = aaauser.user_id
and statusname='Open' and workorder.createdtime >= '1352678400000'
and sdorganization.name='MAPL'
order by workorder.workorderid
このクエリを機能させる方法のアイデアはありますか??? みんなありがとう!