У меня есть SQL-запрос в блокноте Jupiter Notebook для блоков данных Azure, который выдает мне следующую ошибку
Ошибка в выражении SQL: AnalysisException: коррелированный столбец недопустим в предикате неравенства:
Запрос выглядит примерно так:
Select p.PrdId, p.ProductDescription, p.PoolId, p.UomId, p.MpgId,
(Select First(ToDemandGroupId) From MasterData.UpdatesToProduct up Where
(
IsNull(up.DemandGroupId) = 0
Or
up.DemandGroupId = p.DemandGroupId
) ) as DemandGroupId1
From Raw.ProductPreUpdates p
Если я выполню одну из двух частей в предложении where подзапроса по отдельности, тогда запрос будет работать, но когда есть обе частиэто дает эту ошибку.Так что, если у меня просто IsNull (up.DemandGroupId) = 0, это работает, или если у меня просто up.DemandGroupId = p.DemandGroupId, это работает, но не с обоими.
Проблема в части p.DemandGroupIdзапроса.Если я заменю up.DemandGroupId = p.DemandGroupId на up.DemandGroupId = 4, то это также сработает.