This is the query in IIF format.
SELECT [userinfo].[dp_url]
,[message_threads].[thread_id]
,[userinfo].[fname]
,[userinfo].[lname]
,[userinfo].[profile_id]
FROM [message_threads]
LEFT JOIN [userinfo] ON (IIF([message_threads].[from] <> 2, [userinfo].[profile_id] = [message_threads].[from], [userinfo].[profile_id] = [message_threads].[to]))
WHERE (IIF([message_threads].[from] <> 2, [to] = 2, [from] = 2))
ORDER BY [last_updated_on] DESC
This is what I have made with CASE statement so far.
SELECT [userinfo].[dp_url]
,[message_threads].[thread_id]
,[userinfo].[fname]
,[userinfo].[lname]
,[userinfo].[profile_id]
FROM [message_threads]
LEFT JOIN [userinfo] ON (
CASE
WHEN ([message_threads].[from] <> 2)
THEN ([userinfo].[profile_id] = [message_threads].[from])
ELSE ([userinfo].[profile_id] = [message_threads].[to])
END
)
WHERE (
CASE
WHEN ([message_threads].[from] <> 2)
THEN ([to] = 2)
ELSE ([from] = 2)
END
)
ORDER BY [last_updated_on] DESC
I'm getting the following error:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '='.
It's very necessary to use equal to (=).
Any help is appreciated!