2014-01-21 3 views
0

Я пытаюсь вывести результаты запроса из одной таблицы и использовать ту же переменную, что и «как» в другой таблице. Первая часть запроса должна получить мне все *. Переменная (или массив) будет использоваться во второй части запроса как часть «like».Вывести запрос sql к переменной, а затем создать новый запрос

Это то, что у меня есть:

DECLARE @UpnPref nvarchar(100), @WC nvarchar(10) 
Set @UpnPref = 0 
Set @WC = '*' 

Select @upnpref = UpnPrefix from dbo.ADUsers where UPNPrefix = @WC 

print @upnpref <-- returns a 0 

Select * from dbo.UserMailbox where LinkedAccount like '%' + @UpnPref +'%' 
+0

Попробуйте, если SELECT, FROM UpnPrefix dbo.ADUsers WHERE UPNPrefix = '*' возвращает что-нибудь, потому что это то, что вы пытаетесь присвоить @UpnPref – Dimitri

+0

Она возвращает 0, больше ничего. – PdeRover

+0

Итак, вы идете ... Но ваш выбор не имеет никакого смысла. Его непонятно, что вы пытаетесь сделать. – Dimitri

ответ

0

Если то, что вы пытаетесь сделать, это выбрать все из dbo.UserMailbox что LinkedAccount сопоставления UpnPrefix каждой записи в dbo.ADUsers, вы можете сделать это так :

SELECT U.* 
FROM dbo.UserMailbox U 
    INNER JOIN dbo.ADUsers A ON U.LinkedAccount = A.UpnPrefix 
+0

Большое вам спасибо! – PdeRover

+0

Вы можете отметить это как принятый ответ, если это решает проблему – Dimitri

Смежные вопросы