次のクエリをビュー テーブル名 salesboard に変えました。
select
distinct(p.paymentID) AS paymentID,
j.jobID AS jobID,j.jobNumber AS jobNumber,j.jobType AS jobType, j.countType AS countType, j.countID AS countID,
ui.userID AS salesRep,
(
case
when (j.idType = 'dealership') then d.dealershipName
when (j.idType = 'Group') then g.groupName
when (j.idType = 'Agency') then a.agencyName
end
) AS dealershipName,
(
case
when (p.manualTimestamp <> '0000-00-00 00:00:00') then p.manualTimestamp
when (p.manualTimestamp = '0000-00-00 00:00:00') then from_unixtime(p.timestamp)
end
) AS checkTS,
p.paymentAmount AS paymentAmount,
po.estimatedMailArrival AS estimatedMailArrival
from jobs j
left join smdealershipjoins smdj on j.dealershipID = smdj.dealership
left join smgroupjoins smgj on j.dealershipID = smgj.groupID
left join smagencyjoins smaj on j.dealershipID = smaj.agencyID
join userinfo ui on
(
case
when (j.idType = 'dealership') then (smdj.sm = ui.userID)
when (j.idType = 'Group') then (smgj.sm = ui.userID)
when (j.idType = 'Agency') then (smaj.sm = ui.userID)
end
)
left join dealerships d on smdj.dealership = d.dealershipID
left join dealershipgroups g on smgj.groupID = g.groupID
left join agencies a on smaj.agencyID = a.agencyID
join payments p on j.jobID = p.jobID
left join purchaseorders po on j.jobID = po.jobID
order by
(
case
when (p.manualTimestamp <> '0000-00-00 00:00:00') then p.manualTimestamp
when (p.manualTimestamp = '0000-00-00 00:00:00') then from_unixtime(p.timestamp)
end
) desc
ビューが保存され、期待される結果が返されます。ただし、新しいビュー テーブルで最も単純なクエリを実行すると、クエリの実行に数分かかります。私はそれを修正するために何かできることがあるかどうかを確認するために周りを検索しました-しかし、私は手ぶらで出てきました:(
できることはありますか?私は頭を悩ませ、助けを求めることにしました。