查询加入条件

时间:2014-01-09 12:06:54

标签: mysql sql sql-server select join

我必须编写一个查询,通过检查值REFID和ORGID在table1和table2上建立相关联接,以获得OUTPUT TABLE,如下所示。

Table1:

REFID      ORGID    Artikel_ID   ORGID_ARTIKEL  Price
1001       1234     M123             1314         2,2
1001       1235     M124             1314         15,2
1001       1234     M125             1322         20,5

Table2:

REFID      ORGID    MATNR    Turnover   Reduced_Turunover
1001       1234     1886     8000,6         2500,0
1001       1235     1886     9000,6         6500,0

Ouput Table:

REFID      ORGID    Artikel_ID   ORGID_ARTIKEL  Price      MATNR    Turnover   Reduced_Turunover
1001       1234     M123             1314         2,2      1886      8000,6     2500,0
1001       1235     M124             1314         15,2     1886      9000,6     6500,0
1001       1234     M125             1322         20,5      1886     8000,6     2500,0

我尝试了以下内容:

select T0."REFID"
     , T0."ORGID_WE"
     , T0."ARTIKEL_ID"
     , T0."ORGID_ARTIKEL"
     , sum(T0."Price")as Price
     , T1."MATNR"
     , T1."ORGID"
     , T1."VNTHW"
     , T1."Turnover"
     , T1."reduced_turnover"
  from TABLE1 T0 
 Inner Join 
       TABLE2 T1 
    on T0."REFID"=T1."REFID"
     , T0."ORGID"=T1."ORGID"

首先,我想问一下我是否可以像上面那样使用两个条件。如果没有,你可以帮助我操纵以下。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用多个条件,但必须将它们与and放在一起,而不是,sum()也只能在分组时使用。

select T0."REFID"
     , T0."ORGID"
     , T0."Artikel_ID"
     , T0."ORGID_ARTIKEL"
     , T0."Price"
     , T1."MATNR"
     , T1."Turnover"
     , T1."reduced_turnover"
  from TABLE1 T0 
 Inner Join 
       TABLE2 T1 
    on T0."REFID"=T1."REFID"
   and T0."ORGID"=T1."ORGID"

答案 1 :(得分:0)

这是一个非常基本的问题。您想要加入两个表:

select * from table1 join table2 using (refid, orgid);