2012-11-30 3 views
0

하나의 스크립트에서 총 15 개의 레코드로 두 세트의 데이터를 추출 할 수 있기를 원합니다.하나의 SQL 스크립트로 두 세트의 데이터 추출

내 시나리오에서는 예를 들어 3 개의 레코드를 반환 할 수있는 특정 도시의 멤버를 추출한 다음 해당 특정 상태에서 나머지 12 개를 추출하려고합니다. 나는 결과가 저장 한 다음 가상 테이블이 완료되면 반환되는 임시 가상 테이블을 원

SELECT MemberID, a.UserName, a.MemberDisplayName, a.NYKABizName, a.PackageType 
FROM Member a 
WHERE a.Claimed = 'Y' 
AND a.PrCity = 'Bridgewater' 
AND a.PrStateID = 36 
AND a.PackageType = 'E' 
ORDER BY a.MemberDisplayName 

SELECT MemberID, a.UserName, a.MemberDisplayName, a.NYKABizName, a.PackageType 
FROM Member a 
WHERE a.Claimed = 'Y' 
AND a.PrStateID = 36 
AND a.PackageType = 'E' 
ORDER BY a.MemberDisplayName 

나는이 두 가지가 하나로 결합 싶지 않는 : 여기

는 코딩 샘플입니다.

어떻게하면이 아이디어를 얻을 수 있습니까? 사전에

많은 감사, neojakey

+0

단일 절차에서 두 개의 데이터 세트가 반환되기를 원하십니까? –

답변

2

귀하의 virtual table 당신은에 의해 분리 된 데이터 어댑터에 여러 선택 문을 통과 할 수있는이

CREATE VIEW view_name AS 
    SELECT * FROM 
    (
    SELECT MemberID, a.UserName, a.MemberDisplayName, a.NYKABizName, a.PackageType 
    FROM Member a 
    WHERE a.Claimed = 'Y' 
    AND a.PrCity = 'Bridgewater' 
    AND a.PrStateID = 36 
    AND a.PackageType = 'E' 
    ORDER BY a.MemberDisplayName 
    ) x 
    UNION 
    (
    SELECT MemberID, a.UserName, a.MemberDisplayName, a.NYKABizName, a.PackageType 
    FROM Member a 
    WHERE a.Claimed = 'Y' 
    AND a.PrStateID = 36 
    AND a.PackageType = 'E' 
    ORDER BY a.MemberDisplayName 
    ) y 
0

과 같을 것이다 ";".

SqlDataAdapter dataAdapter = new SqlDataAdapter(“select * from table1;select * from table2”, connection); 

DataSet ds = new DataSet(); 

dataAdapter.Fill(ds); 

그런 다음 ds.Tables [index]를 사용하여 결과 집합을 참조 할 수 있습니다.

C# DataAdapter and DataSet with multiple table

관련 문제