У меня есть одна родительская таблица. Продукты с несколькими дочерними таблицами. Шляпы, стелбубы, электрокабели, волоконно-оптические.Объединить строки из таблиц Mulitple в одну таблицу
ProductId -Примерное ключевое поле в таблице продуктов ProductId- ForeignKey поле в шлангах, стелбубах, электрокабелях, волоконно-оптических системах.
стола Продукта имеет от 1 до многих отношений с ребенком таблицами
Я хочу объединить результаты всех таблиц. Например, у продукта P1 есть поле PK ProductId, которое используется во всех дочерних таблицах как FK.
Если таблица шлангов имеет 4 записи с ProductId 50, а таблица Steeltubes имеет 2 записи с 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 тег удален, потому что он не имеет КТР. –