2012-01-26 20 views
0

我有2個表屋&可用性 - 我想查找AVAILABILITY中每個HOUSEID的RENT字段的最小值和最大值,它包含許多記錄每JOUSEID,然後更新的房屋表字段MIN_RENT和MAX_RENT,房屋表包含每HOUSE IDMYSQL更新單記錄第二表中的多個記錄中的MIN&MAX值的表MYSQL

HOUSES 

houseid min_rent max_rent 
    121 40.00 90.00 
    122 50.00 80.00 
    123 40.00 100.00 

AVAILABILITY 

house_id date  rent 
    121 01/01/12 40 
    121 01/02/12 50 
    121 01/03/12 60 
    121 01/04/12 90 
    122 01/01/12 40 
    122 01/02/12 50 
    122 01/03/12 60 
    122 01/04/12 80 
    123 01/01/12 40 
    123 01/02/12 50 
    123 01/03/12 60 
    123 01/04/12 90 

問候只有一個條目 馬丁

+0

你嘗試了什麼? – BugFinder

回答

2

更快的溶液

UPDATE 
    HOUSES H 
    ,(
     SELECT 
      house_id 
      ,MIN(rent) AS min 
      ,MAX(rent) AS max 
     FROM 
      AVAILABILITY 
     GROUP BY 
      house_id 
    ) AS A 
SET 
    min_rent = A.min 
    ,max_rent = A.max 
WHERE 
    H.house_id = A.house_id 
+0

試過這個 - 快,但沒有更新它應該更新的HOUSES – MSB

+0

中的min_rent或最大租金。你可以檢查子查詢別名A,返回正確的行嗎? – ncank

+0

是的子查詢 - 選擇 house_id ,MIN(租金)爲min ,MAX(租金)爲max FROM 可用性 GROUP BY house_id - 返回 – MSB

相關問題