主题:SQL查询问题 急
dongming1210
[专家分:10] 发布于 2006-08-05 20:03:00
我想从tab1表中查询得出tab2这样的表,各位大虾帮帮我,怎样写这个查询语句.很急,谢谢!
tab1:
===========================================
fields1 fields2 fields3 fields4 fields5
1 1 aa ass 8-6
2 2 aa 111 8-6
3 1 bb ddf 8-6
4 2 bb adg 8-6
5 3 bb aaa 8-6
===========================================
tab2:
===========================================
fields1 fields2 fields3 fields4 fields5
2 2 aa 111 8-6
5 3 bb aaa 8-6
===========================================
回复列表 (共8个回复)
沙发
gggmmtddir [专家分:2690] 发布于 2006-08-06 08:00:00
不知道你有什么要求没有???难道只要这两条记录
select * from tablename where fields1 in(2,5)
板凳
chengli520hy [专家分:870] 发布于 2006-08-09 12:27:00
是不是查询fields4字段中所有字符相同的记录啊?
3 楼
孤枫舞影 [专家分:30] 发布于 2006-08-10 09:45:00
我也不知道你有什么要求
我想你可能是不知道怎样从一个表创建一个新表吧...
select * into tab2 from tab1 where fields1 in(2,5)
4 楼
dongming1210 [专家分:10] 发布于 2006-08-10 12:06:00
感谢大家的支持!是我没有把要求说清楚.
我想得到的是取不同的FIELD 3 中值,然后按照FIELD 5 最大,以及FIELD 2最大.按照这些条件的全部字段都显示出来的表.
5 楼
chengli520hy [专家分:870] 发布于 2006-08-10 18:11:00
select tab1.a,tab1.b,tab1.c,tab1.d,tab1.e
into tab2
from tab1 inner join (select c,'b'=max(b),'e'=max(e)from tab1 group by c) n
on tab1.b=n.b and tab1.e=n.e and tab1.c=n.c
说明,你的列名我用abcde代替了
6 楼
dongming1210 [专家分:10] 发布于 2006-08-10 21:56:00
tab2 这个表是不存在的 而且也不想用存储过程 或则建立表 就想用查询 从tab1中得到想tab2这样的表
7 楼
gggmmtddir [专家分:2690] 发布于 2006-08-10 22:39:00
select tab1.* from tab1,(select fields3,max(fields2) as fields2,max(fields5) as fields5 from tab1 group by fields3) as A
where tab1.fields3=a.fields3 and tab1.fields2=A.fields2 and tab1.fields5=A.fields5
8 楼
xianzi687 [专家分:120] 发布于 2006-08-11 14:14:00
select tab1.* from tab1,(select fields3,max(fields2) as fields2,max(fields5) as fields5 from tab1 group by fields3) as A
where tab1.fields3=a.fields3 and tab1.fields2=A.fields2 and tab1.fields5=A.fields5
我来回复