我有一个父表有多个子表的产品 - 软管,钢管,ElectricCables,FiberOptics。将多行表中的行组合成单表
ProductId - 产品表中的主要关键字段 ProductId-软管,钢管,ElectricCables,FiberOptics中的ForeignKey字段。
产品表中有1与子表
我想所有表的结果,并结合大量的关系。 对于eg - 产品P1具有PK字段ProductId,它在所有子表中用作FK。
如果软管表有4个记录与ProductId 50和Steeltubes表有4个记录与ProductId 50当我执行左连接然后左连接做记录显示8条记录的笛卡尔积作为结果但它应该是4条记录。
;with HOSESTEELCTE
as
(
select '' as ModeType, '' as FiberOpticQty , '' as NumberFibers, '' as FiberLength, '' as CableType , '' as Conductorsize , '' as Voltage,'' as ElecticCableLength , s.TubeMaterial , s.TubeQty, s.TubeID , s.WallThickness , s.DWP ,s.Length as SteelLength , h.HoseSeries, h.HoseLength ,h.ProductId
from Hoses h
left join
(
--'' as HoseSeries,'' as HoseLength ,
select TubeMaterial , TubeQty, TubeID , WallThickness , DWP , Length,ProductId from SteelTubes
) s on (s.ProductId = h.ProductId)
) select * from HOSESTEELCTE
MySQL的标签。 –