我有一个包含id (PK)
,tid (FK)
,lid(FK)
和status (Varchar)
列的表格。对于每个tid
,有多个lid
,每个lid
都有status
:“完成”或“正在进行”。
我想获取每个tid
的状态,其中tid
的状态为:如果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";
}
答案 0 :(得分:0)
执行以下操作。
SELECT count(rowid) total from lo_status where topic_id='"+topicid+"' and status="Finished";
如果总计= 0,则状态结束,否则正在进行。
答案 1 :(得分:0)
您可以尝试以下查询。
Select count(status) As total from lo_status where topic_id='"+topicid+"' and status =ongoing";
if(total>0){
status="OnGoing";
}else
{
status="Finished";
}
您可以尝试一下,然后询问任何查询。