首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

高分!请问有关问题

2011-12-27 
高分!!!!!请教问题。表ATEST_A_ATEST_A_BTEST_A_CEST_A_D-----------------------------------------333322

高分!!!!!请教问题。
表A
TEST_A_A       TEST_A_B     TEST_A_C       EST_A_D
----------   ---------   ----------   ------------
3                       3                 3                       3
2                       2                 2                       2
1                       1                 1                       1

表B
TEST_B_A             TEST_B_B   TEST_B_C       TEST_B_D         TEST_B_E
----------------------   -----------------------------------
1                           A                 1                     1                       1
1                           B                 2                     2                       2
3                           BZ               4                     4                       4
2                           A                 2                     2                       2
1                           BZ               3                     3                       3
2                           A                 3                     3                       3
3                           BZ               3                     3                       3
2                           A                 2                     2                       2

要求:
1,A表和B表连接。

2,假如B表中TEST_B_B字段的值只有A,   通过SQL返回一条记录:
   
    TEST_B_A             TEST_B_B   TEST_B_C       TEST_B_D         TEST_B_E        


    ----------------------   -----------------------------------
    2                           A                 2                     2                       2
    或者
    TEST_B_A             TEST_B_B   TEST_B_C       TEST_B_D         T
      ----------------------   ------------------------
    2                           A                 3                     3                       3  
    返回上面任意一条记录都可以。(注意:只能返回一条记录)
   
3,假如表中TEST_B_B字段的值既有BZ,又有A,又有B,通过SQL返回两条记录:
  TEST_B_A             TEST_B_B   TEST_B_C       TEST_B_D         TEST_B_E        
    ----------------------   ---------   ----------   ----------------
      1                           A                 1                     1                       1
      1                           BZ               3                     3                       3
   
    或者
  TEST_B_A             TEST_B_B   TEST_B_C       TEST_B_D         TEST_B_E        
    ----------------------   ---------   ----------   ----------------
      1                           B                 2                     2                       2
      1                           BZ               3                     3                       3
    返回上面任意两组记录都可以。(注意:返回记录里TEST_B_B的值必须包含BZ。)

[解决办法]
好像结果里面A,B表不需要相连的呀,为何一定要想连,若一定要要相连,又以A,B表中哪个字段相连.
[解决办法]
你可以那样嘛,先查出TEST_B_B字段的值等于A的,再在后面根据其他的字段确定一条记录,
譬如TEST_B_A=2.
这样可以得到你想要的结果,但我不知道那样有什么意义,
[解决办法]
select B.TEST_B_A ,B.TEST_B_B,B.TEST_B_C,B.TEST_B_D,B.TEST_B_E
from B,A where B.TEST_B_A=A.TEST_A_A and B.TEST_B_C=A.TEST_A_B and B.TEST_B_D=A.TEST_A_C and B.TEST_B_E=A.EST_A_D



热点排行