表TB
pid,pname,rule,rem
1, 'XX','20×10',null
1, 'XX',null,null
2, 'YY', null,null
2, 'YY','11*11','hello'
...
-
需要结果:
1, 'XX','20×10',null
2, 'YY','11*11','hello'
就是说相同的pid只留下一条记录,留下的规则是rule,或者rem有值的记录,如果都没值,就随便取一条。
pid,pname,rule,rem
1, 'XX','20×10',null
1, 'XX',null,null
2, 'YY', null,null
2, 'YY','11*11','hello'
...
-
需要结果:
1, 'XX','20×10',null
2, 'YY','11*11','hello'
就是说相同的pid只留下一条记录,留下的规则是rule,或者rem有值的记录,如果都没值,就随便取一条。
group by pid,pname
意思就是你写的这样的。但是好像ACCESS不支持[rule]=max([rule]),rem=max(rem)这种写法。
语法错误 (操作符丢失) 在查询表达式 '[rule]=max[rule]'
原来Access中要这样
select pid,pname,max(rule) as a,max(rem) as b from [TB]
group by pid,pname