根据第一个表中的键从第二个表中获取数据

时间:2012-03-01 16:43:10

标签: sql sql-server-2008 stored-procedures

我有一个以下数据库,我可以通过以下查询获取单行:

Select Item1, Item2, Item3, Item4, Item5 from
tbData
WHERE
QueryParam1=@queryParam1 and QueryParam1=@queryParam2

获取以下输出

Item1 | Item2 | Item3 | Item4 | Item5
  12      45     76       20     19

现在,第二个表格具有以下细节:

SNo Detail
12   ABC
45   XYZ
76   ASD
20   GHY
19   GHJ

我必须获取列,以便结果表应该像

Item1 | Item2 | Item3 | Item4 | Item5
 ABC     XYZ     ASD     GHY     GHJ

如何做到这一点?

1 个答案:

答案 0 :(得分:2)

SELECT s1.Detail AS Item1,
       s2.Detail AS Item2,
       s3.Detail AS Item3,
       s4.Detail AS Item4,
       s5.Detail AS Item5
    FROM tbData d
        INNER JOIN SecondTable s1
            ON d.Item1 = s1.SNo
        INNER JOIN SecondTable s2
            ON d.Item2 = s2.SNo
        INNER JOIN SecondTable s3
            ON d.Item3 = s3.SNo
        INNER JOIN SecondTable s4
            ON d.Item4 = s4.SNo
        INNER JOIN SecondTable s5
            ON d.Item5 = s5.SNo
    WHERE QueryParam1 = @queryParam1 
      AND QueryParam2 = @queryParam2