表1:座席数据:存储座席详细信息的位置 代理表格
Agent_Id Name
1 Vijay
2 Rajesh
3 Satish
4 Anji
表2:Case_transaction_details:存储后端操作中的每个步骤。 Case_transaction_details
Case_Id Stage Login_Time Logout_time Agent_id Status
101 Maker 5/11/2019 10:20 10:30 2 Success
102 Maker 10:25 10:35 1 Success
103 Maker 10:40 10:50 2 Success
101 Checker 10:45 11:00 3 Success
101 Approver 11:15 11:30 2 Success
102 Checker 10:50 11:00 1 Reject
102 Maker 11:15 11:45 4 Reverify
103 Checker 11:30 11:40 2 Reject
问题是如何获取被检查者拒绝但仍未验证的案例ID?
SELECT Case_Id
FROM Case_transaction_detail
WHERE Status = 'Reject' and status != 'Reverify';
如何在同一列上两次应用where子句?
尝试上述查询可同时提供
102
103
答案应该只有103
答案 0 :(得分:2)
您可以使用:
private long startTime = 0;
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
long time = System.currentTimeMillis() - starTime;
//300.000 ms = 5 min
if(time > startTime + 300000)
{
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
}
}
else
{
starTime = System.currentTimeMillis();
}
}
答案 1 :(得分:0)
我认为您想要汇总:
SELECT Case_Id
FROM Case_transaction_detail
GROUP BY Case_Id
HAVING SUM(Status = 'Reject') > 0 AND
SUM(status = 'Reverify') = 0;
MySQL将布尔条件视为数字上下文中的数字,其中“ 1”代表真,“ 0”代表假。因此,第一个条件计算不合格品的数量; > 0
说至少有一个。
类似地,第二条件计算每种情况下重新验证的次数。 = 0
说没有。
答案 2 :(得分:0)
您可以使用简单的LEFT JOIN
来做到这一点。
基本上,您将从表中选择所有拒绝的CaseId,然后使用CaseId仅选择与之相关联的经验证的表来离开同一张表。
您想要的人将是左联接关系(关联的经过验证的)为NULL
的人。
SELECT CaseRejected.Case_Id
FROM Case_transaction_detail CaseRejected
LEFT JOIN Case_transaction_detail CaseReverified ON (CaseReverified.Case_Id = CaseRejected.Case_Id AND CaseReverified.Status = 'Reverify')
WHERE CaseRejected.Status = 'Reject'
AND CaseReverified.Case_Id IS NULL;
答案 3 :(得分:0)
一种方法是在HAVING
子句中测试同质性
SELECT Case_Id
FROM Case_transaction_detail
GROUP BY Case_Id
HAVING AVG(Status='Rejected')=1
另一种方法基本上是使用GROUP_CONCAT
的黑客行为
SELECT Case_Id
FROM Case_transaction_detail
GROUP BY Case_Id
HAVING GROUP_CONCAT(DISTINCT Status))='Rejected'
答案 4 :(得分:0)
SELECT
case_id
FROM
case_transaction_details
WHERE
status = 'Reject'
AND status <> 'Reverify';
答案 5 :(得分:-1)
SELECT Case_Id
FROM case_transaction_details
GROUP BY Case_Id
HAVING SUM(Status = 'Reject') - SUM(status = 'Reverify') = 1