를 생성합니다. 여기에 기본적으로 제가 구축 할 필요가 쿼리하지만 SELECTS의 수는 달라집니다 :SQL 서버 루프는 쿼리
SELECT col1
FROM table1
WHERE col2 = 1
INTERSECT
SELECT col1
FROM table1
WHERE col2 = 2
INTERSECT
SELECT col1
FROM table1
WHERE col2 = 3
내가 ID의 쉼표로 구분 된 목록을 가지고 그들에서 테이블을 작성하는 테이블 반환 함수가 있습니다. 하지만 기본적으로 SQL 문을 작성한 다음 실행하려면 해당 테이블 반환 함수를 반복해야합니다.
어떻게 그 루프를 만들어 가야합니까? 또는이 작업을 수행 할 수있는 더 좋은 방법이있을 수 있습니다 (코드가 더 좋으면 할 수 있습니다).
편집 : 가 INTERSECT를 사용하는 목적을 명확히하기 위해, 여기에 내가 뭘하는지입니다. 내가 사용하고있는 구조는 속성 (크기, 색상 등)을 선택하여 하위 제품과 상위 제품을 연관시키는 데 사용됩니다. 각 속성 조합에 대해 하나의 일치하는 하위 제품이 있습니다. 따라서 각 select는 개별 속성 값에 매핑 된 모든 하위 제품을 선택합니다. 그런 다음 각 속성의 조합과 일치하는 하나의 하위 제품을 찾기 위해 각 속성의 교차점을 찾아야합니다. 쿼리를 수행하는 더 좋은 방법이 있다면, 나는 그것에 대해 공개적이다. 내부 조인은 같은 결과가되지만 여전히 동일한 반복이 필요하다는 것을 알고 있습니다.
모든 이유는 선택인가? –
내가 사용하고있는 구조는 속성 (크기, 색상 등)을 선택하여 하위 제품과 상위 제품을 연결하는 데 사용됩니다. 각 속성 조합에 대해 하나의 일치하는 하위 제품이 있습니다. 따라서 각 select는 개별 속성 값에 매핑 된 모든 하위 제품을 선택합니다. 그런 다음 각 속성의 조합과 일치하는 하나의 하위 제품을 찾기 위해 각 속성의 교차점을 찾아야합니다. 쿼리를 수행하는 더 좋은 방법이 있다면, 나는 그것에 대해 공개적이다. 내부 조인은 같은 결과가되지만 여전히 동일한 반복이 필요하다는 것을 알고 있습니다. – jwynveen
"In"키워드를 사용하고 Id 목록을 테이블로 전달하지 않는 이유는 무엇입니까? –