从数据库获取状态

时间:2013-04-03 03:52:13

标签: java mysql

我有一个包含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";
}

2 个答案:

答案 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";
}

您可以尝试一下,然后询问任何查询。