0
我想为最低价格为目的-A项目和最大价格 为B目的项目,此外我按区域分组我的项目。如何避免SQL中的子查询重复?
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。
我该如何解决这些问题。
在我的查询中是否还有一些问题?
任何小的变化是什么,用来收集MIN_PRICE的原因目的'B'的max_price的目的'A'? – 2013-03-01 13:56:02
在某个区域,您可以以昨天交易的最低买价以今天的价格出售,并以昨日最高买入价买入。我希望我的查询的输出包含“zone,today_sell_price,today_buy_price”。那意味着什么? – jimifiki 2013-03-01 14:08:02