0

私の参加知識はひどいです、私はこれのための正しいものを見つけることができません。TableA.userIDとTableB.otherIDの2つのテーブルを結合して、目的の出力に一致させたいと思います。テーブルに外部キーまたは主キーが設定されていません。ここで何を使うべきですか?

TableA:
+--------+--------+---------+
| userID | field1 | field2  |
+--------+--------+---------+

TableB:
+--------+----------+---------+---------+---------+
| userID | otherID  | myData1 | myData2 | myData3 | 
+--------+----------+---------+---------+---------+

Desired Output:
+--------+----------+---------+---------+---------+--------+--------+
| userID | otherID  | myData1 | myData2 | myData3 | field1 | field2 |
+--------+----------+---------+---------+---------+--------+--------+
4

2 に答える 2

2

これはそれを行う必要があります:

select a.userID, b.otherID, b.myData1, b.myData2, b.myData3, a.field1, a.field1
from TableA a
inner join TableB b
on a.userID = b.otherID

TableA.userIDとTableB.otherIDにインデックスを追加することをお勧めします。

于 2013-03-06T23:23:34.963 に答える
1

質問を誤解しているかもしれませんが、USERIDとOTHERIDの両方が同じデータ型であり、データ変換を実行する必要がないと仮定すると、単純なINNERJOINを使用することはできません。

SELECT A.userID, B.otherID, B.myData, B.myData2, B.myData3, A.field1, A.field2
FROM   TableA as A
       INNER JOIN TableB as B
       ON A.UserId = B.OtherId
于 2013-03-06T23:26:12.003 に答える