热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

请教一个select语句

有两张一样的表,索引不只一个字段,怎样选出在一个表中有而在另一个表中没有的字段。比如t_at_b的结构是(zd1:char(10),zd2:integer,zd3
有两张一样的表,索引不只一个字段,怎样选出在一个表中有而在另一个表中没有的字段。比如
 t_a  t_b 的结构是
(
 zd1 :char(10),
 zd2 :integer,
 zd3 :char(20)
 )

13 个解决方案

#1


查看all_indexes系统表

#2


两张一样的表???

一个表中有而在另一个表中没有的字段???

那还一样?

#3


question not clear , do you mean the data exist in t_a but not in T_b

in that case , very easy

  select zd1 from t_a where zd1 not in (select zd1 from t_b)

#4


你是指两个表中,在索引上不同的字段.
如果你的索引都是单个字段上的索引.
如下:
Select Column_Name From User_Ind_Columns
where Table_name = 'T_A'
minus
Select Column_Name From User_Ind_Columns
where Table_name = 'T_B'

#5


select column_name from user_ind_columns where table_name='T_A'
minus
select column_name from user_ind_columns where table_name='T_B'

#6


select * from user_indexes where table_name = 'T1';
select * from user_indexes where table_name = 'T2';

#7


我曾经有 两张表,tablea,tableb,结构一样,table1.id=table2.id,可是table1的记录在table2中可能没有,但是table2 中的记录在table1肯定有,现在我要列出如下结构,怎么办;
 table1  table2
 id       id  
 id 
 id       id 

#8


我是这个意思,我的两张表结构完全一样,主键也一样比如
    tab_a (
    aa  char(10),
    bb  integer ,
    cc  char(5),
    dd  char(4)
   )
   tab_b(
    aa  char(10),
    bb  integer ,
    cc  char(5),
    dd  char(4)
   )
   两张表的主键一样,我想找出在tab_a 中有,但在tab_b 中没有的记录,如果表的主键是一个字段比如aa ,可以写成
  select * from tab_a where aa not in ( select aa from tab_b)
 但如果主键是(aa,bb)怎么班呢?总不能写成
select * from tab_a where (aa ,bb) not in ( select aa,bb from tab_b)
  我想知道有没有类似的写法?谢谢哈

#9


你有没有侧过你写的这句sql?
select * from tab_a where (aa ,bb) not in ( select aa,bb from tab_b)
这句没有错!
select * from test_1

A1    A2  A3                                                                              
aa    1   aa                                                                              
bb    2   bb                                                                              
cc    3   cc                                                                              
dd    4   dd                                                                              
ccc   3   dd                                                                              
                                                                                

select * from test_2;

A1    A2     A3                                                                              
aa    1      aa                                                                              
bb    2      bb                                                                              
cc    3      cc                                                                              
ddd   4      dd                                                                              
dd    5      dd                                                                              
ccc   4      dd                                                                              
                                                                                
select * from test_1 where (a1,a2) not in (select a1,a2 from test_2);

A1    A2   A3                                                                              
dd    4    dd                                                                              
ccc   3    dd

#10


select * from table1
minus
select * from table2

#11


上面的写法我都测试过了,还是不行,我现在用的是informix数据库,用的是
dbaccess测试,类似sqlplus,但可视话比较好,还有其他的写法吗,我想用
rowid,但这不准确,原来程序用的是游标,我想用几条语句改写,我的开发是这样的,我要做一个监督系统,系统里我按两种方式入帐,那么就会生成两套系统,我通过比较系统表的内容,写出监督结果,就有两张相同的表,设为t1,t2,分三部分,(1)t1 中有,t2中没有,(2)t2中有,t1没有 (3)t1,t2 都有但要素不同,比如余额不同等,原来用的是游标,我改写成批量的sql语句,第(3)肯定可以搞定,但(1)(2)的情况,有的表主键是两个以上字段,我写了几次都没有成功,大家看有没有标准的sql可以实现。谢谢

#12


可以用rowid 写
   select rowid from tab_a where rowid (select rowid 
from tba_b );
   然后按rowid选出就可以了,但是我不知这样有没有问题。我最后这样写的
    select rowid from tab_a where rowid (select rowid 
from tba_b ) into temp tmp_aa;
   select * from tab_a where rowid in (select * from tmp_aa);

#13


这个问题可以解决了,我在基本数据操作这边问了,写法如下:
select * from tab_a 
where not exists (
 select * from tab_b
 where tab_b.aa=tab_a.aa
 and tab_b.bb=tab_b.bb
)

推荐阅读
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 本文详细介绍了Akka中的BackoffSupervisor机制,探讨其在处理持久化失败和Actor重启时的应用。通过具体示例,展示了如何配置和使用BackoffSupervisor以实现更细粒度的异常处理。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍了 GWT 中 PopupPanel 类的 onKeyDownPreview 方法,提供了多个代码示例及应用场景,帮助开发者更好地理解和使用该方法。 ... [详细]
  • 本文介绍如何使用Objective-C结合dispatch库进行并发编程,以提高素数计数任务的效率。通过对比纯C代码与引入并发机制后的代码,展示dispatch库的强大功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
author-avatar
拍友2602937077
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有