Mysql列连接

时间:2012-06-15 22:22:47

标签: mysql join

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

  • 我有一个表'Data',它有一个名为'Key'的列和一个名为'Value'的列
  • 我有另一个表'用户',其中包含名为'ID','Key1','Key2'
  • 的列
  • 我想要某种连接,它会给列'ID','Value1'和'Value2',其中Value1是Key1的值,而值2是Key2的值。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分: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 

答案 2 :(得分: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