2011-08-16 54 views
0

考慮以下MySQL的場景:許多行跨度超過1年(日期)和不同的價值觀SQL查詢作爲(動態)列值

Table1: 
id, date, value 

Table2: 
id, month, count 

表一個存在有什麼辦法將表2列'count'的值作爲SQL查詢使用?

例: 行1表2中

ID | Month | Count 
------------------------------------------------------------------------------ 
1 | 07 | SELECT COUNT(*) FROM Table1 WHERE MONTH(DATE) = Table2.month 

所以,如果我做了SELECT * FROM表2 WHERE月份= 07

然後我會得到的行數表一個與相應的月份。

某種類型的每行的動態列值,有沒有辦法?

注:我的意思是,如果有任何內置的方式,而不是使用像

SELECT *, 
(SELECT COUNT(*) FROM Table1 WHERE MONTH(date) = Table2.month) as count 
FROM Table2 where id = 2352 

子查詢作爲我真正的查詢將使用多,從而帶來麻煩:(

回答

1

我會使用TRIGGER來更新相關table2行中的Count列,只要table1中有更改。