0

我的加入知识很糟糕,我找不到正确的。我想加入 TableA.userID 和 TableB.otherID 上的两个表以匹配所需的输出。我没有在表上设置任何外键或主键。我应该在这里使用什么?

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 是相同的数据类型并且您不需要执行任何数据转换,您就不能只使用简单的 INNER JOIN。

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 回答