请教高手这样需求的SQL语句应该怎么写?

zhangcm00 2015-03-02 11:31:02
有一个表table1,数据如下
A B C D
STERE 1 200 200
KG 2 400 400
UNIT 3 500 1500
INT 4 200 800
OUT 5 500 2500

我要得出的结果集是A字段中STERE和KG只能取一条,就是判断D字段谁的值大就取谁。A字段其他的值全部取,请问SQL语句应该怎么写?谢谢
...全文
304 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rick-he 2015-03-02
  • 打赏
  • 举报
回复
select * from table1 t1 where t1.D = (select max(t2.D) from table1 t2 where t2.A in ('STERE', 'KG') ) union all select * from table1 t3 where where t2.A not in ('STERE', 'KG') ;
CT_LXL 2015-03-02
  • 打赏
  • 举报
回复
select * from table1 t1 where t1.D = (select max(t2.D) from table1 t2 where t2.A in ('STERE', 'KG')) AND T1.A IN ('STERE', 'KG') union all select * from table1 t3 where where t2.A not in ('STERE', 'KG');

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧