У меня есть стол движков (eball), стол с повреждениями (dv) и стол с установленным сервисным продуктом (sp). Каждый двигатель может иметь несколько повреждений и несколько сервисных продуктов.
Теперь я хочу создать запрос со всеми повреждениями, информацией о его двигателе и, если был установлен сервисный продукт "Retrofit", информация о сервисном продукте Retrofit.
Мой SQL ниже неверен, так как я не получаю повреждения при установке другого сервисного продукта. Если я не включу это условие where, я получу ряд (равный ущерб) для каждого установленного сервисного продукта с таким же ущербом ???
SELECT *
FROM
dbo.EPI_EB2S_damage_report_v as dv
LEFT OUTER JOIN dbo.EPI_all_v as eball ON dv.DB_NO = eball.DB_NO
LEFT OUTER JOIN dbo.ServiceProducts sp ON dv.DB_NO = sp.DB_NO
WHERE (sp.SERVICE_PRODUCT_NAME = 'Retrofit Pulse' OR sp.SERVICE_PRODUCT_NAME is NULL OR sp.SERVICE_PRODUCT_NAME = '')