| fk | red | brown | green |
|1337| 1 | 0 | 0 |
|1337| 0 | 1 | 0 |
|1337| 0 | 0 | 1 |
在tSql中我如何将这些作为一行返回来说1337在某些时候是红色,棕色和绿色?
| fk | red | brown | green |
|1337| 1 | 1 | 1 |
答案 0 :(得分:3)
使用Max
函数Grouping by fk
select fk, max(red) red, max(brown) brown, max(green) green
from yourTable
group by fk
如果 red
, brown
& green
是 bit type
字段,然后按以下方式尝试
select fk, max(red+0) red, max(brown+0) brown, max(green+0) green
from yourTable
group by fk
答案 1 :(得分:2)
通过分组:
Select fk ,
Max(red) as red,
Max(brown) as brown,
Max(green) as green
FROM myTableName
GROUP BY fk
答案 2 :(得分:1)
像这样:
SELECT fk
,MAX(red)
,MAX(brown)
,MAX(green)
FROM yourtable
GROUP BY fk