tempad
Readygo技术搜索引擎 >>软件工程 >> 急问:SQL如何实现两个表的笛卡儿乘积(有公共字段)?

急问:SQL如何实现两个表的笛卡儿乘积(有公共字段)?

Readygo技术搜索引擎 网络搜索 efish 2008-1-17 7:16:48

急问:SQL如何实现两个表的笛卡儿乘积(有公共字段)?

楼主differ1(我来自未来)2003-06-30 22:56:11 在 VB / 数据库(包含打印,安装,报表) 提问

比如说A表和B表。  
  A表和B表有相同的字段也有不同的字段。  
  想把A表和B表的记录合到一起,但如果有相同字段的则合并到一条记录。  
  比如A:  
  c1   a1   a2   c2   a3    
  1     2       1     4     5    
  2     2       2     4     5    
  3     2       3     4     5    
   
  B表:  
  c1   b1   b2   c2   b3  
  1     2       1     4     5    
  2     2       2     4     5    
  4     2       3     4     5    
   
  想得到最终表如下:  
   
  c1   a1   a2   c2   a3     b1   b2   b3  
  1     2       1     4     5     1     1     5  
  2     2       2     4     5     2     2     5  
  3     2       3     4     5    
  4     2       3     4     5     2     3     5  
   
  问题点数:0、回复次数:4Top

1 楼differ1(我来自未来)回复于 2003-06-30 23:05:49 得分 0

错了  
   
  想得到最终表如下:  
   
  c1   a1   a2   c2   a3     b1   b2   b3  
  1     2       1     4     5     1     1     5  
  2     2       2     4     5     2     2     5  
  3     2       3     4     5    
  4                   4           2     3     5Top

2 楼hiker_lx()回复于 2003-07-01 09:05:28 得分 0

1.原理:SQL-92   FULL   OUTER   JOIN   运算符指明,不管表中是否有匹配的数据,结果将包括两个表中的所有行。  
   
  2.本题答案:  
        select   *   from   a   FULL   OUTER   JOIN   b   ON   a.c1=b.c1   and   a.c2=b.c2  
  Top

3 楼differ1(我来自未来)回复于 2003-07-02 08:57:47 得分 0

那对公用字段加条件不知道是不是好用?  
  比如要求   a.c1=2  
  能筛选出所要的记录吗?  
  我这里暂时还没有可测试的环境,ORACLE还没安装:(  
  谢谢!Top

4 楼hiker_lx()回复于 2003-07-02 11:08:36 得分 0

公用字段的条件可以使用Where、Having   子句。  
  WHERE   和   HAVING   子句包含搜索条件,以进一步筛选联接条件所选的行。Top

责任编辑: efish 参与评论 查找更多:
相关文章
菜鸟问题:怎么简单的实现机器之间的相互通信! 菜鸟问题:怎么简单的实现机器之间的相互通信!
为什么我的IE每次打开都是最小化的? 为什么我的IE每次打开都是最小化的?
请教delphi起家的java高手给小弟指点迷经!! 请教delphi起家的java高手给小弟指点迷经!!
就剩40分了,各位高手还是帮我看看这个语句吧。谢先… 就剩40分了,各位高手还是帮我看看这个语句吧。谢先!分全给了!
请问,有什么原因会让tomcat服务器停止 请问,有什么原因会让tomcat服务器停止
究竟该学那一种语言? 究竟该学那一种语言?
请教关于企业管理应用软件的日志问题 请教关于企业管理应用软件的日志问题
直接读取Execl (*.xls)文件。。。问题。 直接读取Execl (*.xls)文件。。。问题。
如何将dbf表用程序导入到access的mdb数据库中,成为… 如何将dbf表用程序导入到access的mdb数据库中,成为数据库中的一个表
谁用vc++和mapinfo开发过,给点经验好不好 谁用vc++和mapinfo开发过,给点经验好不好
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn

分类导航
Readygo技术搜索引擎