0

2 つのテーブルを結合しようとしています。残念ながら、それらを結合する単一の列はありません。(各テーブルの) 2 つの列の組み合わせのみが、内部結合を可能にする一意の識別子を作成します。それ、どうやったら出来るの?

編集: 誰かが AND を使用して結合することを提案しました。残念ながら、これはうまくいかないようです。

これはテーブルの例です

表1

注文番号 | 操作番号 | . ...

FWA1 | 10

FWA2 | 20

FWA3 | 10

表 2

注文番号 | 操作番号 | 説明

FWA1 | 10 | 掘削

FWA2 | 20 | 研削

FWA3 | 10 | バフ

(操作番号 10 は、順序が異なると説明が異なる場合があることに注意してください。)

4

6 に答える 6

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
于 2013-06-11T08:42:24.047 に答える
0

以下を試してください

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

一方、参加したい列が 2 つある場合は、DanFromGermany の回答が適切です。

于 2013-06-11T08:31:40.677 に答える
0
SELECT * FROM table1 A
    JOIN table2 B ON
    A.first = B.first AND A.second = B.second
于 2013-06-11T08:31:47.203 に答える
0

JOIN で両方の列を使用するだけです。

SELECT * FROM table1 t1
INNER JOIN table2 t2 ON t1.col1 = t2.col1 AND t1.col2 = t2.col2
于 2013-06-11T08:31:49.607 に答える
0

r2 つのテーブル間の関係に依存しますが、それが 1 対多の関係である場合は、2 つの組み合わせを使用してそれらを結合できます。

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

テーブル間の関係が多対多の場合、各行が value1 と value2 の組み合わせをマークする、一意の ID、値 1、および値 2 を含むリンク テーブルが必要になります。

それが役立つことを願っています..

于 2013-06-11T08:33:11.583 に答える