尋找一種更好的方式來編寫這個查詢,我的SQL技能並不是很好,基本上真的是在尋找任何使這個更好的指針。這只是前兩列,完整的報告將有更多的10。SQL查詢需要很長時間才能返回數據
我正在採取一組特定的修復類型,並使用計數和計算對它們進行分析。第一項是提供到本財政年度的工作,第二項是目前收到的工作總量。
SELECT
"Type",
(
SELECT
NVL (COUNT(jjo.jjobno), 0)
FROM
jjobh jjo
WHERE
jjo.jclcode = 'L'
AND jjo.jstatus <> '6'
AND jjo.year_rec <> (
SELECT
sub_code
FROM
code_table
WHERE
main_code = 'YEAR'
)
AND (
week_comp IS NULL
OR year_comp = (
SELECT
sub_code
FROM
code_table
WHERE
main_code = 'YEAR'
)
)
AND jjo.jrepair_type = "Type"
) AS "B/F",
(
SELECT
NVL (COUNT(jjo.jjobno), 0)
FROM
jjobh jjo
WHERE
jjo.jclcode = 'L'
AND jjo.jstatus <> '6'
AND jjo.year_rec = (
SELECT
sub_code
FROM
code_table
WHERE
main_code = 'YEAR'
)
AND jjo.jrepair_type = "Type"
) AS "Recvd"
FROM
(
SELECT
rep.repair_type_code AS "Type"
FROM
repair_type rep
WHERE
rep.client = 'L'
AND rep.work_centre = '004682'
ORDER BY
rep.repair_type_code
)
ORDER BY
"Type";
你可以看看的一件事是用連接替換你的許多子查詢。這應該大大加快您的查詢。 – Jacob 2012-07-31 10:26:50
謝謝,我會看看。 – tookiebunten 2012-07-31 10:50:01
表「code_table」是否有重複的條目 – shajivk 2012-07-31 11:05:38