两个数据集之间的奇怪连接要求(100分)

  • 主题发起人 主题发起人 sentiment
  • 开始时间 开始时间
S

sentiment

Unregistered / Unconfirmed
GUEST, unregistred user!
我有数据集 A和数据集B,A同B的字段完全不一样,且二者不存在任何逻辑联系。
另外A的行数与B的行数不相等,且我不知道是A的行数大还是B的行数大。
我需要在A和B的基础上得到数据集合C,C的第N行有下列性质:
1。如果A的行数和B的行数相等,它们必须可以一一对应,
C的第N行由A的第N行与B的第N行组成,二者组合为C的一新行。
例如:A的第N行为1,2,3,B的第N行为“哈哈”,“呵呵”,则C的第N行应当为
1,2,3,“哈哈”,“呵呵”
2。如果A的行数N大于B的行数M,则在C的第M+I列(I<N-M)上,A的数据继续
在相应字段显示,而B的数据字段为空;
例如:A的第N行为1、2、3,B的行数小于N,则C具有第N行,且第N行应当为
1,2,3,NULL,NULL
4。如果B的行数N大于A的行数M,则在C的第M+I列(I<N-M)上,B的数据继续
在相应字段显示,而A的数据字段为空;
例如:B的第N行为“HAHA”、“HEHE”,A的行数小于N,则C具有第N行,且第N行应当为
NULL,NULL,NULL,“HAHA”,“HEHE”
以上问题,请高手赐教。
 
这个应该很好解决呀,用三个TTable分别对应A,B,C表,分别获取A,B表的记录数:Acount,
BCount,循环 for i:=1 to Max(ACount, BCount) do ;
将A,B表中的每一行记录插入表C。
 
SQL的S就是要强调结构化,你的两个表没有关系属性相联,想要通过一条SQL实现是不
可能的!你可以考虑讲两个实体个自新增两个属性,对实体中的每个元组的给属性赋值,例如
记录号0,1。。。。。这样你就可以通过这个建立起两个实体的关联关系了。如果有的数据
库产品隐含提供这个记录号伪列的就可以省略这步了。剩下来的就简单了,FULL OUTER JOIN
你知道的
 
答案一和用临时表是等价的。我知道用临时表是可以实现的,但我的现实情况是不能用
临时表,可以用视图。第二个答案和我这两天思虑的差不多,我想也是最好的办法。
不过问题是我如何得到每一行的行数,我可不想用SEQUENCE,
因为我一直觉得这个东西很麻烦。请再帮我考虑一下吧。
 
说清楚什么数据库,不然怎么帮你,你如果一开始就说清楚,可能上一次我就把代码给你
写上了呢
 
我拷,ORACLE行不行。你口气这么牛,不要说了不写哟
 
打开一个游标,然后自己循环计数,更新那个字段的每条记录,会不会写呀?
 
我觉得有人是不是智商低还是怎么样,我现在不用SQL/PLUS所以才这么麻烦,不然我搞个
临时表,不什么都完了。还用你说,切~~~~
 
虽然姓王的很没有素养,不过能SQL是结构化的,我想还是应该给他分的
 
后退
顶部