使用2列的组合加入2个表

时间:2013-06-11 08:29:26

标签: sql join

我正在尝试加入两个表格。不幸的是,没有一列可以加入它们。只有2列的组合(在每个表中)创建一个唯一的标识符,使我能够进行内部连接。我该怎么做?

编辑:有人建议使用AND进行联接。不幸的是,这似乎不起作用。

以下是tablse的一个例子

表1

订单号|操作号| 。 ...

FWA1 | 10

FWA2 | 20

FWA3 | 10

表2

订单号|操作号|描述

FWA1 | 10 |钻孔

FWA2 | 20 |磨削

FWA3 | 10 |抛光

(请注意,10号操作可以在不同的订单中有不同的描述。)

6 个答案:

答案 0 :(得分:1)

我认为这将完成这项工作

select t1.orderNo, t1.operationNo, t2.description
from Table1 t1 inner join Table2 t2 
         on t1.orderNo = t2.orderNo and 
            t1.operationNo = t2.OperationNo

答案 1 :(得分:0)

尝试以下

SELECT *
FROM t1, t2
WHERE t1.f1 + t1.f2 = t2.f3

另一方面,如果您要加入2列,则DanFromGermany's answer是合适的。

答案 2 :(得分:0)

SELECT * FROM table1 A
    JOIN table2 B ON
    A.first = B.first AND A.second = B.second

答案 3 :(得分:0)

只需在JOIN中使用两列:

SELECT * FROM table1 t1
INNER JOIN table2 t2 ON t1.col1 = t2.col1 AND t1.col2 = t2.col2

答案 4 :(得分:0)

r取决于两个表之间的关系,如果它是1对多关系,您可以使用两种组合将它们连接起来:

select *
from table1 a
join table2 b on a.column1 = b.column1 AND a.column2 = b.column2

如果表之间的关系是多对多,则需要一个包含唯一id,value1和value2的链接表,其中每一行标记value1和value2的组合

希望有所帮助..

答案 5 :(得分:0)

使用此查询:

  

SELECT column_name(s)FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

或者

  

SELECT * FROM table1 JOIN table2 ON table1.column_name = table2.column_name;

相关问题