我正在使用一个数据库,其中会出现如下表所示的表。
StudentNum | Coin
-------------+------------
1 | Heads
1 | Tails
3 | Tails
3 | Tails
2 | Heads
3 | Tails
我没有权限添加或调整表格,并且需要知道在将其加入另一个表格时是否可以控制填充行的条件。
具体来说,我试图找出每个给定的ID是否已经获得了一个阳性结果(在这种情况下是Tails)至少一次。如果是这样,请将其用于该字段,否则请使用Heads。
StudentID | Coin | ...
-------------+-----------+----------
1 | Tails |
2 | Heads |
3 | Tails |
4 | ... |
... | ... |
答案 0 :(得分:0)
您可以使用CASE WHEN语句。看看这是不是你想要的。
<md-card ng-repeat="things in dataToDisplay"></md-card>
答案 1 :(得分:0)
如果我正确理解,你可以使用这样的东西:
select StudentNum, case when sum(case when Coin = 'Tails' then 1 end) >= 1 then 'Tails' else 'Heads' end
from the_table
group by StudentNum
答案 2 :(得分:0)
如果硬币只有Heads
或Tails
,那么Tails
&gt;在进行字符串比较时Heads
,您可以使用max
和group by
select StudentNum ,max(coin) as coin
from your_table
group by StudentNum;
因此,如果对于任何学生,您同时拥有Heads
和Tails
或Tails
,则Tails
为MAX(COIN)
。如果仅Head
,那么您将Head
。
限制:假设null
中没有coin
或前导空格。两种类型的硬币的情况也应相同(较低,UPPER或第一个上部然后较低,因为比较将发生在第一个字符的ascii值。