select * from tbname t1 where t1.rank = '2' and t1.del_flag='F' and t1.mail_type1='局长信箱' and t1.rowid = (select min(t2.rowid) from tbname t2 where t1.name = t2.name)
解决方案 »
- 关于给表分区的问题
- oracle 查询数据提取第五条到第10条数据
- 连续插入相同的新记录时,触发器为何不发生作用?
- 这样的进程可以杀死吗
- orcal存储过程中如何添加事务?
- oracle sql 简单问题求教!
- 关于移动数据库的简单问题,大家都来帮帮忙啊,多谢!
- 在线等待:1012 错误怎样解决,回复加分。谢谢。
- ★★用什么工具编写和调试存储过程比较好,dbms是什么东西,在Toad中怎为什么执行存储过程错误,但是在sqlplus中却可以★★
- 计算机小白怎么学习oracle?
- 新手的问题--如何使用FOR语句操作游标.(在线)
- 请问,oracle中如何实现一种日期格式到另一种日期格式的转变,比如说把'yyyy-mm-dd hh24:mi:ss'格式的日期简化为'yyyy-mm-dd'。
ROWID是每一条数据在数据库中的唯一的物理地址,可以作为每个表的字段查询出来。
select * from tbname t1 where t1.rank = '2' and t1.del_flag='F' and t1.mail_type1='局长信箱' and t1.rowid IN (select ROWID from tbname GROUP BY NAME)这种方法也可以。
ROWID是每一条数据在数据库中的唯一的物理地址,可以作为每个表的字段查询出来。
---ORA-00979: 不是 GROUP BY 表达式
rowid是伪列,行的物理地址我的4个条件都满足阿
select * from tbname t1 where t1.rank = '2' and t1.del_flag='F' and t1.mail_type1 like '%局长信箱%' and t1.rowid = (select min(t2.rowid) from tbname t2 where t1.name = t2.name)
'局长信箱'=(select mail_type1 from tbname t3 where t1.parent = t3.rank)
这是相关子查询,会一行一行的进行
还有你说的那个“parent(上级):指定此数据的上级信箱的ID“中的“信箱的ID“是什么意思?
信箱哪有什么ID?
你根据你自己的意思改一下吧
where t1.rank = '2'
and t1.del_flag='F'
and parent =
(
select rank from tbname
where mail_type1 = '局长信箱'
and rownum=1
)
where t1.rank = '2'
and t1.del_flag='F'
and t1.mail_type1='局长信箱'
and t1.Name in ( select Distinct name from tbname )
select * from tbname t1
where t1.rank = '2'
and t1.del_flag='F'
and t1.mail_type1='局长信箱'
and t1.Name in ( select Distinct name from tbname )
========================================================
这种方法不行。
select * from tbname t1 where t1.rank = '2' and t1.del_flag='F' and t1.mail_type1='局长信箱' and t1.name not in (select name from tbname group by
name having count(*)>1)
刚才后面少一个括号;
3、mail_type1等与'局长信箱';这不是鬼打架么?
----------------------------------------------------------------
sql如下:select *
from tbname t1
where t1.rank = '2'
and t1.del_flag='F'
and '局长信箱' in (select t2.mail_type1
from tbname t2
start with t2.type_info_id=t1.type_info_id
connect by t2.type_info_id=prior t2.parent)
and t1.rowid = (select min(t3.rowid) from tbname t3 where t1.name = t3.name)