1

id (PK)tid (FK)lid(FK)、およびを含むテーブルがありますstatus (Varchar)。それぞれtidに複数lidあり、それぞれlidstatus「完了」または「進行中」があります。

各 のステータスを取得したいのですがtidtidのステータスは次のとおりです。すべてlidのステータスが「終了」のtid場合、tidステータスは「終了」になり、いずれかのlidステータスが「進行中」の場合、tidステータスは「進行中」になります。

これまでに行ったことは次のとおりです。

st2=con.createStatement();
String QueryString2 = "SELECT status from lo_status where topic_id='"+topicid+"'";
rs2 = st2.executeQuery(QueryString2);
while (rs2.next()) {
    status=rs2.getString(1);
}

if(status == null){
    status="Pending";
}
else if(status.equals("Finished")){
    status="Finished";
}else{
    status="Ongoing";
}

4

2 に答える 2

0

次のクエリを試すことができます。

Select  count(status) As total  from lo_status where topic_id='"+topicid+"' and status =ongoing";
if(total>0){
 status="OnGoing";
}else
{
 status="Finished";
}

あなたはそれを試すことができます.

于 2013-04-03T04:05:03.500 に答える
0

次のようなことをしてください。

SELECT count(rowid) total from lo_status where topic_id='"+topicid+"' and status="Finished";

合計 = 0 の場合、ステータスは完了、それ以外の場合は進行中です。

于 2013-04-03T04:01:08.590 に答える