2014-07-19 3 views
0

하위 쿼리가 두 개 이상의 값을 반환하기 때문에 @parameter을 설정할 수 없습니다. SELECT TOP 1 Name을 사용하면 작동합니다. 어떻게 정렬 할 수 있습니까?SQL 하위 쿼리가 두 개 이상의 값을 반환합니다.

DECLARE @parameter nvarchar(50) 

SELECT @parameter = (SELECT Name FROM Choices 
JOIN Position ON Position.PositionId = Choices.PositionId 
WHERE Choices.CvId=1230) 

SELECT * FROM Adverts WHERE Name LIKE '%' + @parameter + '%' 
+0

감사합니다. – Jude

답변

2

왜 2 쿼리를 1로 병합하지 않습니까?

select a.* 
from Choices c 
     inner join Position p on c.PositionId = p.PositionId 
     inner join Adverts a on p.Name like '%' + a.Name + '%' 
where c.CvID = 1230 
+0

정확한 일치 항목 만 다시 실행합니다. 나는 같은 것을 사용해야합니다 – Jude

+0

내부 조인에 대한 조인을 '%'+ a.Name + '%'와 같은 p.Name에서 변경하십시오. – Squirrel

관련 문제