回 帖 发 新 帖 刷新版面

主题:SQL查询问题 急

我想从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个回复)

沙发

不知道你有什么要求没有???难道只要这两条记录
select * from tablename where fields1 in(2,5)

板凳

是不是查询fields4字段中所有字符相同的记录啊?

3 楼

我也不知道你有什么要求

我想你可能是不知道怎样从一个表创建一个新表吧...

select * into tab2 from tab1 where fields1 in(2,5)

4 楼

感谢大家的支持!是我没有把要求说清楚.
我想得到的是取不同的FIELD 3 中值,然后按照FIELD 5 最大,以及FIELD 2最大.按照这些条件的全部字段都显示出来的表.

5 楼

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 楼

tab2 这个表是不存在的 而且也不想用存储过程 或则建立表 就想用查询 从tab1中得到想tab2这样的表

7 楼

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 楼

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

我来回复

您尚未登录,请登录后再回复。点此登录或注册