0
특정 조건을 만족하는 행 x 개를 임의로 선택해야하고 다른 기준을 충족하는 행 번호 x 개를 무작위로 선택해야하는 데이터 세트가 하나의 테이블에 모두 출력됩니다.무작위 행과 중복으로 중복 방지
SELECT * FROM (SELECT TOP 1000 * FROM dbo.[Client List]
WHERE Source = 'HC' AND Service = 'Service1' AND Provider = 'ProviderName1'
ORDER BY NEWID()) Table1
UNION ALL
SELECT * FROM (SELECT TOP 500 * FROM dbo.[Client List]
WHERE Source = 'HC' AND Service = 'Service2' AND Provider = 'ProviderName2'
ORDER BY NEWID()) Table2
UNION ALL
SELECT * FROM (SELECT TOP 2200 * FROM dbo.[Client List]
WHERE Source = 'BA' AND Service = 'Service3' AND Provider = 'ProviderName3'
ORDER BY NEWID()) Table3
이 작동하지만 한 가지 문제가있다 :... 그것은 클라이언트 식별자 (DBO [클라이언트리스트] [된 ClientID]의 중복을 허용하는 것 선택할 수 내 모든 결과는 반드시 내가이 다음 사용하고
즉, 첫 번째 임의 선택을 수행 한 다음 첫 번째 선택에서 선택한 ClientID를 선택하지 않고 두 번째 임의 선택을 수행해야합니다. (예, 알고 있습니다. 이것은 기술적으로 "무작위"가 아닙니다.) 각각의 후속 SELECT의 WHERE 문에 일종의 코드를 추가 할 수있는 방법이 있습니까? 아니면 코드의 전체 구조를 다시 생각해야합니까? 고마워요!