| fk | red | brown | green |
|1337| 1 | 0 | 0 |
|1337| 0 | 1 | 0 |
|1337| 0 | 0 | 1 |
在tSql中,我将如何将这些返回为一行,以表示1337在某些点已经红色,棕色和绿色?将SQL连接成一行
| fk | red | brown | green |
|1337| 1 | 1 | 1 |
| fk | red | brown | green |
|1337| 1 | 0 | 0 |
|1337| 0 | 1 | 0 |
|1337| 0 | 0 | 1 |
在tSql中,我将如何将这些返回为一行,以表示1337在某些点已经红色,棕色和绿色?将SQL连接成一行
| fk | red | brown | green |
|1337| 1 | 1 | 1 |
使用Max
功能Grouping by fk
select fk, max(red) red, max(brown) brown, max(green) green
from yourTable
group by fk
如果red
,brown
& 是bit type
区,然后尝试如下
select fk, max(red+0) red, max(brown+0) brown, max(green+0) green
from yourTable
group by fk
通过分组:
Select fk ,
Max(red) as red,
Max(brown) as brown,
Max(green) as green
FROM myTableName
GROUP BY fk
像这样:
SELECT fk
,MAX(red)
,MAX(brown)
,MAX(green)
FROM yourtable
GROUP BY fk