表:
ID /姓名/类型/品味/分数 1/ Cox / apple / good / NULL 2/ Cox / pear / NULL /6 3/ Bob / apple / great / NULL 4/ Rod / pear / NULL /9 5/ King / pear / NULL /3 6/ King / apple / bad / NULL
正如你所看到的:‘苹果’有‘味觉’值,但没有‘分数’‘梨’没有‘味道’价值,但有‘分数’。
我想把它们合并在一起,这样如果两张唱片有相同的“名字”,那么它们就变成了一张唱片,它的“味道”值取自苹果,而“分数”则来自梨。
当使用上面的表时,我想要的输出如下:
ID /姓名/类型/品味/分数
1/ Cox / apple / good /6
3/ Bob / apple / great / NULL
4/ Rod / pear / NULL /9
5/国王/梨/坏/3
我正在使用MySQL和PHP。我想这两种方法都可以完成。
发布于 2016-05-24 13:24:06
您可以使用条件聚合来完成这个任务:
SELECT min(t.id),t.name,min(t.Type),
MAX(CASE WHEN t.type = 'apple' then t.taste END) as taste,
MAX(CASE WHEN t.type = 'pear' then t.Score END) as Score
FROM YourTable t
GROUP BY t.namehttps://stackoverflow.com/questions/37414821
复制相似问题