求一条SQL语句,谢谢各位...
table有大致如下的记录,这些记录已经是按照规定要求排序好的了
field1 field2
A B
B F
C D
E F
F A
...
我要实现的效果
field
A
B
F
C
D
E
...
做法就是先取第一条记录中的field1字段值,然后再取field2字段值,在取到field1、field2字段值的时候,得先判断我当前取得的列表中是否已经存在了这些字段值,如果存在则跳过,处理完继续下一条,直到结束。
另外,同一条记录中field1和field2值是不同的。
不要写delphi程序,也不要写存储过程什么的,我想要一条SQL语句OPEN直接返回我要的结果,请问该怎么做,最好效率要高的,因为数据量比较大,谢谢各位!
CSDN把我的Tab给干掉了 上面A是field1字段的值 B是field2字段的值 下同
另外CSDN老让我重新登录 不知道怎么回事 发一个帖子让我登录了N次 纳闷...
select * from (select field1 as f from 表
union
select field2 from 表 where field2 not in (select field1 from 表)) order by f
老大 UNION把顺序搞乱了 麻烦再看看 因为涉及方向问题 不能乱的
为什么不用存储过程呢?
用存储过程就容易多了..
不是很懂,帮不上忙,SORRY.
记录间没什么联系,一条语句难实现,
前台不允许用delphi实现,后台不能使用临时表/函数/视图/存储过程等
可以说,这个表的设计是失败的,程序也是失败的...
select distinct * from (select field1 from 表 union select field2 from 表) T
再加个 order by field1
测试结果
RowID MM
相关问答:
我EXCEL中一个单元格的数据如 "2009-01","8949-232"
将这个数据粘贴到PL/SQL中的一个表中后,数据确是成为了 2009-01,8949-232 ,把所有的""都没了,
如何弄呢?请大家试 ......
PB中开发的。
DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)
string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+&q ......
DateTime startTime=DateTime(em_1.Text)
DateTime endTime=DateTime(em_2.Text)
string sql
sql = dw_1.GetSQLSelect()+"Where (StartTime> '"+startTime+"') and (EndTime ......
有字段
日期,id
日期不重复,id 有重复
需要筛选出 每个id里面日期最早的数据。
SQL code:
select * from 表 t where not exists(select 1 from 表 where t.日期>日期 and id=t.id)
SQL ......
环境:1.win2003server+oracle9i
2.oracle9i字符集为AMERICAN_AMERICA.WE8ISO8859P1
3.oracle sql developer版本 1.5.5
现象描述: 1.在sql developer 中查询oracle中的某个表,中文全部显示为乱码。
......