Sql 如何同时连接两个表?

Sql 如何同时连接两个表?,sql,Sql,表产品 Id name t1 t2 1 A 1 4 2 B 5 2 3 C 3 1 4 D 4 5 表Tan id tan 1 tanA 2 tanB 3 tanC 4 tanD 5 tanE 我有两个以上的表,我希望结果如下,在预期结果如何是可能的 预期结果 A tanA tanD B tanE tanB C tanC tanA

产品

Id name     t1   t2
1  A        1    4
2  B        5    2
3  C        3    1
4  D        4    5
Tan

id  tan
1   tanA
2   tanB    
3   tanC
4   tanD
5   tanE
我有两个以上的表,我希望结果如下,在预期结果如何是可能的

预期结果

A   tanA    tanD
B   tanE    tanB
C   tanC    tanA    
D   tanD    tanE

您可以在多个表上进行联接:

SELECT p.Name AS ProductName,
       t1.tan AS Tan1,
       t2.tan AS Tan2
FROM dbo.Product p
INNER JOIN Tan t1
    ON p.t1 = t1.id
INNER JOIN Tan t2
    ON p.t2 = t2.id
ORDER BY ProductName ASC

您可以使用表别名从tan表中选择两次:

FROM Product INNER JOIN tan tan1 ON tan1.id = product.t1
             INNER JOIN tan tan2 ON tan2.id = product.t2
选择适当的列:

SELECT Product.name AS name, tan1.tan AS Tan_1, tan2.tan AS Tan_2
给予:

SELECT product.name AS name, tan1.tan AS Tan_1, tan2.tan AS Tan_2
FROM Product INNER JOIN tan tan1 ON tan1.id = product.t1
             INNER JOIN tan tan2 ON tan2.id = product.t2

到目前为止你试过什么吗?还有,要求是什么?您没有提供太多信息。@MyFirst Try
从产品pr中选择pr.name、j1.tan、j2.tan pr.t1==j1.id pr.t2==j2.id的join tan j2==j2.id
请不要在
where
子句中使用过时且容易出错的隐式联接。最好使用显式的
JOIN
操作符。我发现使用隐式连接更容易解释它,但这确实是我应该改掉的习惯。。。