Коррелированная ошибка столбца в ячейке Databricks SQL - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть 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, то это также сработает.

...