SELECT SUM (roadcount) AS roadcount, policezone, detachment, dutyzone, TYPE
FROM (SELECT COUNT (*) AS roadcount, policezone, detachment, dutyzone,
kind AS TYPE
FROM sde.r_line
WHERE roadtype != 3
GROUP BY policezone, detachment, dutyzone, kind
UNION ALL
SELECT COUNT (*) / 2 AS roadcount, policezone, detachment,
dutyzone, kind AS TYPE
FROM sde.r_line
WHERE roadtype = 3
GROUP BY policezone, detachment, dutyzone, kind)
GROUP BY policezone, detachment, dutyzone, TYPE
簡化sql
SELECT SUM (roadcount) roadcount, policezone, detachment, dutyzone,
kind TYPE
FROM (SELECT DECODE (roadtype, 3, 0.5, 1) roadcount, policezone,
detachment, dutyzone, kind
FROM sde.r_line)
-- WHERE roadtype != 3
GROUP BY policezone, detachment, dutyzone, kind