表返回多行以进行单个连接匹配

时间:2015-07-14 16:05:28

标签: sql sql-server-2008

我有一个名为" items"

的表
    itemNumber | Material
------------------------------
     1234      |  cast
     234A      | Tool Plate

另一张名为" material"

的表格
    material    |  Process
--------------------------------
    cast        |  Anodize
    Tool Plate  |  Blah 

我正在使用连接对表进行选择:

Select
Process,Material.Material
from Items
inner join Material on items.Material=material.Material
Where  items.ItemNumber = '1234'

我得到了

的回报
anodize   |cast
Tool Plate| cast

'铸造'有一个' Anodize'的匹配,但它返回每个组合。我已经尝试过我所知道的每种连接类型,它会产生相同的结果。我做错了什么?

2 个答案:

答案 0 :(得分:1)

除了item.Material的拼写错误(应该是items.Material)之外,假设您已正确提供有关数据的事实,您的查询就可以正常运行。

在此处试用演示:SQL Fiddle

答案 1 :(得分:0)

你的查询没问题,只有错字。

检查fiddle

SELECT *
FROM 
    items i inner join 
    material m ON i.Material = m.Material
WHERE 
    i.itemNumber = '1234';