select * from TabType where TypeID in (select distinct TypeID from TabEquip)---------
解决方案 »
- 关于ORACLE多表连接查询的问题。。。。请数据库高手指点啊。。。。
- oracle转sqlserver 求助
- RANK的时候报缺失右括号(大虾帮忙看下)
- 求Oracle 11g补丁
- 求SQL语句,查询每名学生成绩的最新记录。
- 一套oracle数据库多少钱?
- 库oracle已经建好了 可拿着给的pb的客户端和服务器端不知怎么调试主要是服务器端
- 在Enterprise Manager Console中无法登陆数据库!
- 是不是选取某几个字段时,必须用select ...into ...,存储过程才有效?
- 求SQL(急)
- user_tables表中可不可以查看修改记录的时间?
- 有什么办法可以在指定的表里任意只选取一条数据?
你的要求则不同了.
两个表一关联就可以得到你需要的东西.
选择出有明细的主表记录:
select zb.* from TabType zb,TabEquip cb where zb.TypeID=cb.TypeID
对于从表没有引用的主表记录,你可以删除此纪录
select * from tabtype where typeid not in (select typeid from tabequip);
再:
delete from tabtype where typeid not in (select typeid from tabequip);
如果对了,再commit;
如果不对,再rollback;
create or replace view view_name is
( select distinct TypeID from TabEquip
union all
select distinct TypeID from ...
...
);
删除时
delete from TabType a where not exists ( select 1 from view_name b where a.typeid=b.typeid)