item value
1 a
1 b
2 b
2 b
3 a
3 a
4 a
4 b
... ...
在value里就只有两个值,一个是a,一个是b
当value中值相同时,显示这个相同的值
若值不相同,则显示a
怎么查询?
-- MS SQL 2005 SELECT item, CASE WHEN isA=1 THEN 'a' ELSE 'b' END AS value FROM ( select value,item, CASE WHEN value = 'a' THEN 'isA' WHEN value = 'b' THEN 'isB' END AS category from test group by value,item ) AS D PIVOT(COUNT(value) FOR category IN([isA],[isB])) AS P
楼主看可不可以
这个不错
select dictinct item, value from ...
??
说清楚点撒,没看明白您的问题
每个对应得ITEM只有两条记录,它们的value分别是a或b,如果同时为a显示a 同时为b显示b 如果为a或b显示,这题结果为
结果为
1 a
2 b
3 a
4 a
sql server的话:
select item,min(value) from tb group by item
因为你value只有两个的可能取值,所以min或max一定能够取得你觉得需要优先的那个