这样的sql语句怎么写?

willmas 2005-09-02 04:23:32
一个表有c1,c2,c3,c4,c5这几个列,我想查询出c2列相同, c3列不同, c4列相同,c5又不同的数据,怎么写?
...全文
136 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
非萨范德萨发 2005-09-05
  • 打赏
  • 举报
回复
to : duanzilin(寻)
我试用了你的语句,结果有不符合要求的。请看
B1 B2 B3 B4 B5
---------------- ---------------- ---------------- ---------------- ----------------
2 8 5 1 2
16 8 0 1 7
28 4 5 1 8
30 4 6 1 0
33 4 6 1 2
willmas 2005-09-05
  • 打赏
  • 举报
回复
不过上面这个sql还是有问题,有不合条件的会被选出来,如下:
050715 SXXRC3C00UN23 R00151 0902441 0.0
050715 SXXRC3C00UN23 R00155 0902441 0.92
050715 SXXRC3C00UN23 R00157 0902441 0.0

to duanzilin(寻) :我这里没法使用exists关键字,是access文件里面,所以没法试
willmas 2005-09-05
  • 打赏
  • 举报
回复
谢谢各位,最后一个可以改简单点吧?我这样改没问题吧?
select distinct a.c1,a.c2, a.c3, a.c4, a.c5
from
表名 a,
表名 b
where
a.c2=b.c2 and a.c3<>b.c3
and a.c4=b.c4 and a.c5<>b.c5
小李木耳 2005-09-02
  • 打赏
  • 举报
回复
select distinct a.c1,a.c2, a.c3, a.c4, a.c5
from
(select * from 表 ) a,
(select * from 表 ) b
where
a.c2=b.c2 and a.c3<>b.c3
and a.c4=b.c4 and a.c5<>b.c5
waterfirer 2005-09-02
  • 打赏
  • 举报
回复
上面的
11 5 6 7 8
不要
waterfirer 2005-09-02
  • 打赏
  • 举报
回复
那你说下面的对不对
3 2 3 4 1
4 2 2 4 3
5 3 3 4 5
6 3 1 4 1
8 3 2 4 3
9 4 3 5 5
10 4 1 5 1
11 5 6 7 8
因为前两条记录有和第三条记录重复的。
按你的做法是按c1排序再按顺序找的吗?还是按rownum排序呢?
willmas 2005-09-02
  • 打赏
  • 举报
回复
1 2 3 4 5
2 2 1 4 1
4 2 2 4 3
5 3 3 4 5
6 3 1 4 1
8 3 2 4 3
9 4 3 5 5
10 4 1 5 1
沝林 2005-09-02
  • 打赏
  • 举报
回复
select * from tablename a
where exists
(select 1 from tablename b where a.c2 = b.c2 and a.c4 = b.c4
having count(distinct c2) = 1 and count(distinct c2) = 1 and count(distinct c3) > 1 and count(distinct c5) > 1
)
waterfirer 2005-09-02
  • 打赏
  • 举报
回复
没明白,就下面的数据而言,你要的结果是什么?
1 2 3 4 5
2 2 1 4 1
3 2 3 4 1
4 2 2 4 3
5 3 3 4 5
6 3 1 4 1
7 3 3 4 1
8 3 2 4 3
9 4 3 5 5
10 4 1 5 1
11 5 6 7 8
AndyFunction 2005-09-02
  • 打赏
  • 举报
回复
up

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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