我对 SQL 真的很陌生,这样做是为了满足我的基本工作需求,基本上我不是技术人员。但我很想知道这里有什么方法可以简化我的 SQL 代码:
SET sql_mode = '';
SELECT DISTINCT partner.kode_agent,
institusi.nama,
count(proposal.kode_proposal) AS 'Jumlah Proposal',
sum(project.jumlah_pencairan) AS 'Jumlah Pencairan'
FROM brw_proposals proposal
JOIN ms_agent partner ON proposal.kode_agent = partner.kode_agent
JOIN ms_agent_institusi institusi ON partner.kode_institusi = institusi.kode_institusi
JOIN ms_projects project ON proposal.kode_proposal = project.kode_proposal
WHERE institusi.nama like 'BMT%' and proposal.status_proposal_id = 4
OR institusi.nama like 'BMT%' and proposal.status_proposal_id = 8
OR institusi.nama like 'BMT%' and proposal.status_proposal_id = 3
OR institusi.nama like 'BMT%' and proposal.status_proposal_id = 10
OR institusi.nama like 'Baitul Maal Wat%' and proposal.status_proposal_id = 4
OR institusi.nama like 'Baitul Maal Wat%' and proposal.status_proposal_id = 8
OR institusi.nama like 'Baitul Maal Wat%' and proposal.status_proposal_id = 3
OR institusi.nama like 'Baitul Maal Wat%' and proposal.status_proposal_id = 10
OR institusi.nama like 'Ksp%' and proposal.status_proposal_id = 4
OR institusi.nama like 'Ksp%' and proposal.status_proposal_id = 8
OR institusi.nama like 'Ksp%' and proposal.status_proposal_id = 3
OR institusi.nama like 'Ksp%' and proposal.status_proposal_id = 10
GROUP BY institusi.nama
因为我猜 WHERE 子句太多了,而且我对子查询不太熟悉。
希望任何人都可以分享他们的经验来改进我的代码!谢谢