0

未解決のすべての質問と、それらが更新された最後の更新時刻を返すクエリを実行します。

これが機能する方法は、質問が質問テーブルに挿入され、更新/回答が元の質問の外部キーを使用してqUpdateテーブルに挿入されて関連付けられます。

これは私が現時点で書いたクエリですが、私が望んでいるものではありません。

SELECT MAX (qUpdate.UpdateTime) AS LastUpdateTime, Question.ID FROM Question
LEFT JOIN qUpdate ON qID = qUpdate.qID WHERE Status = 'open'GROUP BY Question.ID, Question.Status;

結果:

     lastupdatetime     id
    2012-12-21 20:37:00;7
    2012-12-21 20:37:00;10
    2012-12-21 20:37:00;1000
    2012-12-21 20:37:00;5
    2012-12-21 20:37:00;2
    2012-12-21 20:37:00;9

ご覧のとおり、各質問の最新の更新とは対照的に、すべての質問の最新の更新が返されます。理由はわかりますが、この問題を解決する方法がわかりません。

申し訳ありませんが、説明が少しあいまいでした。

基本的に:

現在、特定の質問の更新時刻に関係なく、最終更新時刻を返します。つまり、すべての質問の最大最終更新時刻を見つけて、開いているすべての質問に対してそれを返します。

私がやりたいのは、その特定のチケットのすべての未解決の質問と最終更新時刻をリストすることです。

Postgresqlを使用しています

4

2 に答える 2

1

これがあなたの問題であるように見えます:

LEFT JOIN qUpdate ON qID = qUpdate.qID

これでなければなりません:

LEFT JOIN qUpdate ON qID = Question.ID
于 2012-04-08T18:44:15.427 に答える
0

これを試して。ステータスでグループ化する必要はありません。

SELECT MAX (qUpdate.UpdateTime) AS LastUpdateTime, Question.ID FROM Question
LEFT JOIN qUpdate ON qID = qUpdate.qID WHERE Status = 'open' GROUP BY Question.ID;
于 2012-04-08T18:44:28.430 に答える