0
我有一個返回'0'或'1'的標誌字段。我想在同一天發生'0'和'1'時返回行。我的sytax已關閉,但你明白我的意思。當標誌字段在同一天發生時返回行
select employee, date, flag, account,
from table1
where flag = 0 and 1 for date
我有一個返回'0'或'1'的標誌字段。我想在同一天發生'0'和'1'時返回行。我的sytax已關閉,但你明白我的意思。當標誌字段在同一天發生時返回行
select employee, date, flag, account,
from table1
where flag = 0 and 1 for date
您可以按日期彙總並計算每個值的出現次數:
select employee, date, account,
from table1
group by date, employee, account
having sum(case when flag = 0 then 1 else 0 end) > 0 and
sum(case when flag = 1 then 1 else 0 end) > 0;
在你的情況下,假設該標誌是一個數字,只需要對0
和1
值,你可以簡化它到以下之一:
having count(distinct flag) = 2;
having min(flag) <> max(flag);
having sum(flag) > 0 and sum(1 - flag) > 0;
我也在思考這些問題,但在我的情況下,可以每天觸發多次標誌。所以在每天的基礎上,我可能會有許多具有0和1的不同'帳戶'的行。 – user2800758
@ user2800758。 。 。這就是這個查詢所做的(假設'date'實際上是一個* date *,沒有時間分量)。 –