SQL Join 3具有特定字段的表

时间:2014-09-09 22:08:58

标签: sql join

我的表格如下:

**VBAK**
VBELN int
KUNNR int
dontwannahave1 int
dontwannahave2 int

**VBUP**
VBELN int
LFSTA int
dontwannahave11 int
dontwannahave12 int

**VBAP**
VBELN int
MATNR int
dontwannahave111 int
dontwannahave111 int

在表VBAP中,MATNR中有3行具有不同的值。但其他2个表只有1行。最后我只希望这种格式有一行:

VBELN LFSTA MATNR KUNNR
50001 1     1     1
50001 1     2     1
50001 1     3     1



SELECT *
     FROM VBAP
     LEFT JOIN VBUP
     ON VBAP.VBELN=VBUP.VBELN
     LEFT JOIN VBAK
     ON VBAP.VBELN=VBAK.VBELN

但是我怎么才能拥有这四个领域而忘记所有" dontwannahave"字段?如何获得每行中LFSTA和MATNR的值。

有关详细信息,请参阅我的SQLFiddle: SQLFiddle

1 个答案:

答案 0 :(得分:0)

而不是*,选择您想要的字段?

SELECT 
    VBAP.VBELN,
    VBUP.LFSTA,
    VBAP.MATNR,
    VBAK.KUNNR
FROM VBAP
    LEFT JOIN VBUP
        ON VBAP.VBELN=VBUP.VBELN
    LEFT JOIN VBAK
        ON VBAP.VBELN=VBAK.VBELN

http://sqlfiddle.com/#!2/d8fbb6/6