我想要用途 A 项目的最低价格和用途 B 项目的最高价格,而且我按区域对我的项目进行分组。
SELECT ZONE, MIN_PRICE, MAX_PRICE --,LEFT_ZONE
FROM
(SELECT MIN(PRICE) AS MIN_PRICE , ZONE AS LEFT_ZONE
FROM MYTABLE
WHERE PURPOSE = 'A'
AND SOMETHING = 'SOMEVALUE'
GROUP BY ZONE
)
FULL OUTER JOIN
(SELECT MAX(PRICE) AS MAX_PRICE, ZONE_CD
FROM MYTABLE
WHERE PURPOSE = 'B'
AND SOMETHING = 'SOMEVALUE'
GROUP BY ZONE
)
ON LEFT_ZONE = ZONE
这个查询给出了我想要的输出,但我不喜欢它有两个原因:
1)我想要
FROM MYTABLE
WHERE SOMETHING = 'SOMEVALUE'
只能调用一次。
2)当行来自我的完整外连接中的右表时,我得到 ZONE null 。
我该如何解决这些问题。
我的查询中还有其他问题吗?