【问题标题】:oracle sql query joining a table with existing queryoracle sql 查询加入具有现有查询的表
【发布时间】:2012-06-20 03:27:54
【问题描述】:

我有以下四个表,结构如下

A表

  ColA1  ColA2  ColA3    ColA4  ColA5
-----------------------------------------
  AA     100      CC     DD       EE

表 B

  ColB1  ColB2  ColB3    ColB4   ColB5
 -------------------------------------------
 AA      100     40452   A9       CDE

当这些two tables 像下面这样加入时:

 Select colA1,ColA2, ColA3, ColA4, ColB3,ColB4, ColB5
   from table A
        Left outer join 
            (select ColB3, ColB4, ColB5
              from table B
              where colB3 = (select max(colB3) from table B
            )
          on (colA1 = colB1 and ColA2 = col B2);

现在我必须加入下一个table Ctable B

表C结构是

 ColD1   ColD2   ColD3
 --------------------------------  
  Desc1 A9   Executive
  Desc1 A7   Engineer

我有ColD2 and colB4等常用列来获取Col D3

如何加入existing query + join between 表 b 和表 c?

【问题讨论】:

    标签: sql oracle


    【解决方案1】:

    没有经过测试,但会像下面给出的那样

     SELECT colA1,ColA2, ColA3, ColA4, ColB3,ColB4, ColB5,ColD3
       FROM table A
            LEFT OUTER JOIN 
                (SELECT ColB3, ColB4, ColB5
                  FROM table B
                  WHERE colB3 = (SELECT MAX(colB3) FROM table B
                )
              ON (colA1 = colB1 AND ColA2 = col B2)
            LEFT OUTER JOIN TABLE C
              ON (colB4=colD2);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多