2013-11-27 127 views
-3
SELECT a.price, b.price, a.delivery_hour, a.resource_id, b.delivery_date 
      FROM mms_realtime_dispatch_prices_report AS a 
      INNER JOIN mms_realtime_expost_prices_report AS b 
      ON a.resource_id = b.resource_id 
      AND a.delivery_hour = b.delivery_hour 
      AND a.delivery_date = b.delivery_date 
      WHERE a.delivery_date = '2013-09-21' 
      ORDER BY a.resource_id ASC 

這是我的查詢。是否可以添加一個確定價格最大值和最小值的新列?MAX和MIN加入查詢

+1

最小和最大依據是什麼?這涉及到分組 - 但基於什麼?另外,它是SQL Server還是MySQL? – Szymon

+0

根據交貨時間先生在mysql – Misty

+0

SELECT max(a.price),min(b.price)_ <您的查詢的其餘部分> _ .. group by a.delivery_hour,a.resource_id,b.deliverydate –

回答

1
SELECT MIN(a.price) as MIN_PRICE, MAX(a.price) as MAX_PRICE, b.price, a.delivery_hour, a.resource_id, b.delivery_date 
     FROM mms_realtime_dispatch_prices_report AS a 
     INNER JOIN mms_realtime_expost_prices_report AS b 
     ON a.resource_id = b.resource_id 
     AND a.delivery_hour = b.delivery_hour 
     AND a.delivery_date = b.delivery_date 
     WHERE a.delivery_date = '2013-09-21' 
     GROUP BY b.price, a.delivery_hour, a.resource_id, b.delivery_date 
     ORDER BY a.resource_id ASC 
+0

如果它適合你,你可以通過點擊答案左側的勾號將其標記爲答案;) –

0

嘗試這樣:

SELECT max(a.price), min(b.price), a.delivery_hour, a.resource_id, b.delivery_date 
     FROM mms_realtime_dispatch_prices_report AS a 
     INNER JOIN mms_realtime_expost_prices_report AS b 
     ON a.resource_id = b.resource_id 
     AND a.delivery_hour = b.delivery_hour 
     AND a.delivery_date = b.delivery_date 
     WHERE a.delivery_date = '2013-09-21' 
     GROUP BY a.delivery_hour, a.resource_id, b.delivery_date 
     ORDER BY a.resource_id ASC 
+0

是不是與以前的答案相同? –

+0

@Nadeem_MK nope,檢查'group by'條件。 – 7alhashmi

+0

這是因爲你搞砸了價格,有2個價格檢索,你選擇最低爲1和最高爲其他 –