2009-05-15 5 views
1

概要を作成できるように、ケースに使用される時間を取得します。概要の集計値

例のSELECTクエリは次のようになります。私は、接続の両方ので、私は1つの値を持つにはどうすればよい

SELECT SUM(TIME_TO_SEC(TIMEDIFF(dateEnding, dateBeginning))) AS calculatedTime FROM timesheet WHERE `#case` = ? 

:1ケースの場合

SELECT bc.id, bc.title, bc.estimateCurrent FROM cases bc 

私はこのような使用時間を得ることができます概要のSELECTクエリについては?基本的には、テーブルは次のようになります:

 
id|title|estimateCurrent|timeusedinsec 
1|case1|    20| 2000 
2|case2|    40| 2500 
3|case3|    70|  0 

これは可能ですか?私はいくつかのクエリにつながるphp側で各クエリのためのaを持っていたいと思わなかった。ビューは助けになるだろうか?タイムシートの列#caseを想定し

+0

あなたは '#case'という列を呼び出しましたか?それはちょうど気分が悪いと感じる... – araqnid

+0

これは、# ';と呼ばれる列を打つ;) – Andomar

+0

#これは外見上のキーは、私はそれが愚かなことかもしれないようにそれを持って楽しむことができる方法:( – Thomaschaaf

答えて

1

がbc.idを指し、あなたはこのように参加使用することができます

SELECT 
    bc.id, bc.title, bc.estimateCurrent, 
    SUM(TIME_TO_SEC(TIMEDIFF(dateEnding, dateBeginning))) 
FROM cases bc 
JOIN timesheet ts on ts.`#case` = bc.id 
GROUP BY bc.id, bc.title, bc.estimateCurrent 

をGROUP BYは、SUM()がどのように動作するかを定義します。ここでは、同じ#case番号のすべての行をSUM()に追加します。

+0

私は本当にひどくこのことを理解しようとしていました:D – Thomaschaaf

+0

あなたはこの場合の結合タイプを考慮したいかもしれません。 –

+0

LEFT JOIN :) – Thomaschaaf