/ / Добавете условно към второ ляво съединяване - sql-сървър

Добавете условно към второ ляво присъединяване - sql-сървър

Моля, разгледайте следната заявка:

SELECT distinct a.*, coalesce (r.email,r2.email) as "sign_in_email"
into #adobe_prep
FROM dbo.adobe
left join
dbo.registration r ON (a.user_id = r.up_user_id)
left join
dbo.registration r2 ON (a.user_id = r2.entity_id)

По принцип се опитвам да съвпадна с a.user_id с r.up_user_id и ако няма съвпадение с up_user_id, след това съвпадение entity_id. Въпреки това, няма условие за това изявление, затова получавам дубликати, защото понякога a.user_id = r.up_user_id, но също a.user_id = r2.entity_id (само за различна стойност). Можете ли да помогнете при добавянето на условие, че втората ляво присъединяване трябва да се случи само ако a.user_id <> r.up_user_id?

Отговори:

1 за отговор № 1

Но вие сте написали самия отговор! Опитайте се да добавите условието, което сте написали с думи:

and a.user_id <> r.up_user_id

Като този:

select distinct a.*, coalesce (r.email,r2.email) as "sign_in_email"
into #adobe_prep
from dbo.adobe
left join dbo.registration r ON (a.user_id = r.up_user_id)
left join dbo.registration r2 ON (a.user_id = r2.entity_id and a.user_id <> r.up_user_id)