を変更することにより、1に行をマージ:私はこのような表を持っている列の値
学生:
ID|NAME |FOOD |Score
1 |FRED |Apple|23
1 |FRED |Pear |50
2 |HENRY |BERRY|20
3 |Alex |Apple|40
を私がやりたいことは、学生が食べるすべてのためのFOOD
に「MIXED」を変更することです1より多く異なるFOOD
。結果は次のようになります。
ID|NAME |FOOD |Score
1 |FRED |MIXED|73
2 |HENRY |BERRY|20
3 |Alex |Apple|40
アイデアをお持ちですか?あなたはFOOD
のエントリが同じID
とNAME
のために繰り返すことができる場合にはcount(distinct [FOOD])
を使用する必要があります
select [ID],
[NAME],
iif(count([FOOD]) > 1, 'MIXED', [FOOD]) as [FOOD],
sum([Score]) as [Score]
from [Students]
group by [ID],
[NAME]
:
でも、SQLChaoとGrantlyの回答はうまく機能しました。私はこれを使い、Potashinが最初に答えた。 – SQLserving