Я хочу Min Price для цели-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 из цель «A» с max_price цели «B»? –
В данной зоне вы можете продать сегодня по самой низкой цене предложения, торгуемой вчера, и покупать по самой высокой цене спроса, торгуемой вчера. Я хочу, чтобы выход моего запроса содержал «zone, today_sell_price, today_buy_price». Это смысл? – jimifiki