返回材质名称的SQL
下面的代码是我创建的一个查询的结果,除了一件事之外,所有代码都可以正常工作。我有物料名称的物料ID:返回材质名称的SQL,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,下面的代码是我创建的一个查询的结果,除了一件事之外,所有代码都可以正常工作。我有物料名称的物料ID: 1 = bath 2 = sink 3 = toilet 下面显示的是每种材质的水槽 Select cu.FName + ' ' + cu.SName as 'Name', cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address', cu.PostCode, co.DateOrdered, c
1 = bath
2 = sink
3 = toilet
下面显示的是每种材质的水槽
Select cu.FName + ' ' + cu.SName as 'Name',
cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address',
cu.PostCode,
co.DateOrdered,
co.Material1,
ma.MaterialName,
co.material2,
ma.MaterialName,
ma.Price as 'Item Price'
from Customers cu
left join CustomerOrder co on co.CustomerID = cu.CustomerID
left join ItemOrder it on it.OrderID = co.OrderID
left join Materials ma on ma.MaterialID = co.Material1
or co.material2 = ma.MaterialItemID or co.material3 = ma.MaterialItemID
它显示如下(仅列出材料以避免混淆)
有人能帮忙吗?有几种方法可以做到这一点,包括多次使用
材质表上的JOIN
,以获得结果:
Select cu.FName + ' ' + cu.SName as 'Name',
cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address',
cu.PostCode,
co.DateOrdered,
co.Material1,
ma1.MaterialName Material1Name,
co.material2,
ma2.MaterialName Material2Name,
ma1.Price as 'Item Price',
co.material3,
ma3.MaterialName Material3Name
from Customers cu
left join CustomerOrder co
on co.CustomerID = cu.CustomerID
left join ItemOrder it
on it.OrderID = co.OrderID
left join Materials ma1
on ma1.MaterialID = co.Material1
left join Materials ma2
on co.material2 = ma2.MaterialItemID
left join Materials ma3
on co.material3 = ma3.MaterialItemID
还有一个问题,我如何总结材质Id的值?我可以创建一行,将3个价格相加,而不是将ma1.price作为“商品价格”吗?听起来您可以使用(ma1.price+ma2.price+ma3.price)来获取商品的总价。
Select cu.FName + ' ' + cu.SName as 'Name',
cu.Address1 + ', ' + cu.Address2 + ', ' + cu.Address3 as 'Dispatch Address',
cu.PostCode,
co.DateOrdered,
co.Material1,
ma1.MaterialName Material1Name,
co.material2,
ma2.MaterialName Material2Name,
ma1.Price as 'Item Price',
co.material3,
ma3.MaterialName Material3Name
from Customers cu
left join CustomerOrder co
on co.CustomerID = cu.CustomerID
left join ItemOrder it
on it.OrderID = co.OrderID
left join Materials ma1
on ma1.MaterialID = co.Material1
left join Materials ma2
on co.material2 = ma2.MaterialItemID
left join Materials ma3
on co.material3 = ma3.MaterialItemID