1

这可能是一个简单的问题,但我无法在任何地方找到答案。这是问题的抽象版本:

  • 我有一个表“数据”,其中有一个名为“键”的列和一个名为“值”的列
  • 我有另一个表“用户”,其中包含名为“ID”、“Key1”、“Key2”的列
  • 我想要某种连接,它将给出列“ID”、“Value1”和“Value2”,其中 Value1 是 Key1 的值,Value 2 是 Key2 的值​​。
4

3 回答 3

2

尝试

select u.id, d1.v as v1, d2.v as v2 from users u 
inner join data d1 on u.k1 = d1.k 
inner join data d2 on u.k2 = d2.k

您可以检查它是否适用于SQLFiddle

于 2012-06-15T22:40:25.697 回答
1
select d1.value, d2.value from Users 
inner join Data d1 on users.key1 = d1.key 
inner join Data d2 on users.key2 = d2.key 
于 2012-06-15T22:30:13.403 回答
0
SELECT
    a.ID,
    b.Value AS Value1,
    c.Value AS Value2
FROM 
    users a
INNER JOIN
    data b ON a.Key1 = b.Key
INNER JOIN
    data c ON a.Key2 = b.Key
于 2012-06-15T22:51:29.510 回答