I am trying to convert PostgreSQL to SQL Server. But this request does not work.
What am I doing wrong? I tried adding a semicolon to WITH, but no luck.
SELECT member_a AS you, member_b AS mightknow, shared_connection, CASE WHEN (n1.member_job_country = n2.member_job_country AND n1.member_job_country = n3.member_job_country) THEN 'country in common' WHEN (n1.member_unvan_id = n2.member_unvan_id AND n1.member_unvan_id = n3.member_unvan_id) THEN 'unvan in common' ELSE 'nothing in common' END AS reason FROM ( WITH transitive_closure(member_a, member_b, distance, path_string, direct_connection) AS (SELECT member_a, member_b, 1 AS distance, CAST(member_a as varchar(MAX)) + '.' + CAST(member_b as varchar(MAX)) + '.' AS path_string, member_b AS direct_connection FROM Member_Contact_Edges WHERE member_a = 45046
Error:
Msg 156, Level 15, State 1, Line 11
Invalid syntax next to the keyword "WITH".
Msg 319, Level 15, State 1, Line 11
Invalid syntax next to the 'with' keyword. If this statement is a common table expression, an xmlnamespaces clause, or a change in the context of the tracking context, the previous one must be terminated with a semicolon.
Msg 102, Level 15, State 1, Line 34
Invalid syntax next to ')'.
Here's a link; Graphs in a database - SQL meets social networks - Look at the facebook sentence portion at the bottom of the article.
Thanks in advance
source share