Reputation: 127
In the [DB_DW].[dbo].DIM_DW_MEETINGS I have a Json Column called Individuals :
[
{
"Activity_id":1787040082,
"IndividualID":52528443
},
{
"Activity_id":1787040082,
"IndividualID":99312125
}
]
I now want to execute this query in sql :
SELECT DISTINCT
*
FROM [DB_DW].dbo.DIM_DW_FACT_ACTIVITIES Fact
INNER JOIN [DB_DW].[dbo].DIM_DW_MEETINGS dimMeetings
ON Fact.Activity_TECH_KEY = dimMeetings.MEETING_TECH_KEY
LEFT JOIN (SELECT
*
FROM OPENJSON(
(dimMeetings.Individuals)
) WITH (
IndividualID INT '$.IndividualID',
Activity_id INT '$.Activity_id'
)) query
ON query.Activity_id = dimMeetings.Meeting_ID
but I always have this error :
The multi-part identifier "dimMeetings.Individuals" could not be bound.
Upvotes: 0
Views: 1243
Reputation: 1385
Use outer apply to the OPENJSON function
SELECT DISTINCT
*
FROM DIM_DW_FACT_ACTIVITIES Fact
INNER JOIN DIM_DW_MEETINGS dimMeetings
ON Fact.Activity_TECH_KEY = dimMeetings.MEETING_TECH_KEY
OUTER APPLY OPENJSON(
(dimMeetings.Individuals)
) WITH (
IndividualID INT '$.IndividualID',
Activity_id INT '$.Activity_id'
) query
Upvotes: 3