2013-05-03 7 views
0

나는 종종 나는 다음과 같은 쿼리를 실행 찾을 :SQL Server에서 정수를 쉼표로 연결 하시겠습니까?

SELECT * FROM TABLE WHERE ID IN (1,2,3,4) 

쉼표로 정수를 반환하는 결과 집합을 연결할 수있는 기능이 있습니까? 예를

를 들어

concatenate(SELECT ID FROM TABLE)은 때를 나는이 응용 계층에서 할 훨씬 더 효율적이 될 것이라고 생각하지만, (보고) 거기에 시간 ... 1,2,3,4

+1

의 중복 가능성 http://stackoverflow.com/questions/3875979/retrieving-sql-relationships-as-a-comma-delimited-string) – Pondlife

답변

1

난 당신이 결과와 함께 일을하는지 정확히 알고 척하지 않습니다,하지만 당신은 동적 SQL을 실행하려고하는 경우 (:

DECLARE @listStr VARCHAR(MAX) 
SELECT @listStr = COALESCE(@listStr+',' ,'') + cast(ID as varchar(10)) 
FROM table 
SELECT @listStr 

내가 볼 PINAL 데이브에서이 트릭을 알게 또는 수동 SQL)을 사용하는 경우이 ID를 반환하는 쿼리를 IN 또는 EXISTS의 하위 쿼리로 사용하지 않는 이유는 무엇입니까? 예를 들어

SELECT * FROM TABLE1 WHERE ID IN (SELECT ID FROM TABLE2 WHERE ...) 
[쉼표로 구분 취득하거나 SQL 관계 (
관련 문제