选择/内部将多个值从一个表连接到一个表中

时间:2017-07-07 18:25:57

标签: tsql join inner-join

我整个下午一直在搜索谷歌我甚至不确定我会如何说出我的问题,以便google或bing可能会理解它。所以我有2个表(表和数据库设置不是我做的)一个是产品的详细信息

name, value, weight, weight unit of measure id, length, width, height, dimensions unit of measure id, description

然后是另一个包含度量单位及其ID值的表

例如。

id, unit name
1,     cm
2,   inches
3,     lbs
4,     kg
5,    feet    

我需要从products表中进行选择,但将度量单位ID替换为另一个表中的实际计量单位文本。

数据看起来像

sm widgets, $10, 20, 3, 10, 10, 10, 1, small widgets 

我希望结果像

一样出现
sm widget, $10, 20, lbs, 10, 10, 10, cm, small widgets 
lg widget, $15, 50, kg, 10, 10, 10, inches, large widgets 

感谢你们能给我的任何见解

1 个答案:

答案 0 :(得分:2)

我认为您只需要加入表格并返回说明:

select
    p.name, 
    p.value, 
    p.weight, 
    c.[unitname],
    p.length, 
    p.width, 
    p.height, 
    c2.[unitname] as DimensionUnitName, 
    p.[description]
from products p
inner join unitcodetable c
    on c.id = p.[weight unit of measure id]
inner join unitcodetable c2
    on c2.id = p.[dimensions unit of measure id]