这个select语句该如何写啊,请高手指教!

qtj 2006-08-13 03:21:36
我有两个问题:

1。情况是这样的:
有两个表,姑且叫T1,T2,这两个表的结构是一模一样的,但是字段个数很多,有200左右,为了说明方便,姑且叫f1,f2,f3......f200.
有这么个需求:在T1中选出这样的数据:如果表T1的某条记录在T2中存在至少一条各个字段的值都一样的记录,则在T1中选出那条记录。
我现在的做法是:select * from t1 where (t1.f1, t1.f2,t1.f3......t1.f200) in (select * from t2)
(注:select中的省略号“......”省略了t1.f4到t1.f199)
问题点:有什么方式能够替换select中的“(t1.f1, t1.f2,t1.f3......t1.f200)”?因为字段太多了,每个字段都要写了来真是太繁了。或是有其它的方法表达这个意思?

2。跟上面的问题有些类似吧。
有两个表结构的变量,它们的定义如下(T1,T2这两个表的结构是一模一样的):
t1table T1%rowtype
t2table T2%rowtype
问题点:有什么方法能够得知变量t1table和变量t2table的值是一样的(我现在的笨方法是把这两个变量的每个字段一一进行比较,但由于字段太多,人要写疯掉的)?

谢谢各位了!
...全文
130 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
waterfirer 2006-08-13
  • 打赏
  • 举报
回复
楼主的意思是求两个表的交集,用intersect
select * from t1 intersect select * from t2;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧