У меня есть запрос, который использует JOINS для запроса моих данных Космоса, запрос выглядит следующим образом:
SELECT c.id, c.ItemLevel, c.ItemNo, bv.variantId, bv.variantDescription AS title, c.BasicData.presentation.articleLongDescription[0] AS Description, c.BasicData.presentation.articleCompositionList.origin, bv.size.sizeName, c.DetailedData.locales[0].images ?? c.BasicData.asset.assets[0].locations[1].path AS images, 'SE' AS country, 'SEK' AS currency, 'en' AS language, l.categories AS categories, c.PriceData.WhitePrice, c.PriceData.RedPrice, c.PriceData.DiscountPercentage, c.PriceData.TypeOfDiscount
FROM c
JOIN bv IN c.BasicData.base.sales.variants
JOIN l IN c.DetailedData.locales
WHERE c.brand = 'XXX'
AND l.country = 'SE'
AND l.language = 'en'
AND c.ItemNo = 'XXX'
AND c.Season = 'XXX'
AND c.Consumer = 'XXX'
Этот запрос будет работать, пока в моих JOINS есть данные, но если, например, c. Детальные данные равны NULL, тогда они ничего не будут возвращать.
Как я могу заставить их возвращать любые доступные данные и просто опускать те, которые не существуют.
Я знаю, что могу использовать c .foo ?? c .bar, но это работает, только если свойство существует, а не весь объект, используемый в JOIN.
Этот вопрос о JOIN не зависит от структуры документа