2014-10-08 5 views
0

나는 SQL을 사용하여 무언가를하려하고 있으며 가능한지 궁금해하고있었습니다. 나는 일부 열 값을 반복했을 수도있는이SQL IF- ELSE if 문 - 또는 사례

Type Qnty  description  MISCNUMB 
A  1   One Is One   abc  
A  1  One is bla bla  ASD 
A  2  asdasdsa    23213 
B  12  Two One    321 
B  1111      
C  122312 DRE     321 

과 같은 스프레드 시트를 가지고있다.

테이블에서 유형을 선택하면 반복되는 모든 값을 가져 오지 않고 인스턴스 당 하나만 얻을 수있는 방법이 있습니까?

If- ELIF을 사용하여 서로 테이블의 열을 비교하고 쿼리를 작성할 수 있습니까?

또 다른 한 가지는, 내 데이터가 너무 커서 각 데이터에 대해 사례 문을 가질 수 없다는 것입니다. 나는 궁극적으로 이와 같은 데이터를 찾을 수 있기를 원합니다.

경우에 대해 타입 = A> 쇼 qnty> (사용자가 그 값을 선택하면)> 다음 선택된 qnty에 대하여> 쇼 기타 번호

SELECT 
    Qnty 
FROM 
    TABLE_1 
WHERE 
    TYPE = 'A' 
    (I should technically get 1,1,2 right?) 
    Pseudo code = IF Qnty= '1' FROM TABLE_1 
     then show only descriptions and MISC numb for those values, 
     else show rest) 
+0

샘플 데이터에서 원하는 결과는 무엇입니까? 당신은 단지'선택의 여지가있는 Qnty'를 찾고있는 것이 아니라? – sgeddes

+0

안녕하세요, 당신이 원하는 것을 너무 확신하지 못합니다. 결과 테이블을 보여줄 수 있습니까? 그 때 나는 너를 도울 수있을 것이다 :) – Alex

+0

저가 그것을 다시 말하게하십시오, 나는 사용자가 가치의 한을 선정하는 제삼자 소프트웨어에있는 1 개의 칼럼에서, 그 때 끌어 당긴 그 선정 된 가치에 기초를 두었다. 사용자가 이전에 선택한 값에 따라 다른 열에서 예를 들어 사용자가 A를 선택하면 1,1,2가 표시되고 1이 선택되면 설명과 MISC가 표시됩니다. 그 희망이 훨씬 더 분명합니다. @sgeddes –

답변

0

이해하기 번째 시도에 대한 설명을 나타낸다.

DECLARE @TABLE_1 TABLE (Type NVARCHAR, Qnty INT, Description NVARCHAR(100), MISCNUMB NVARCHAR(100)) 
DECLARE @UserChoosesOption INT 

INSERT INTO @TABLE_1 
VALUES 
    ('A',1,'random text', 'aaa') 
    ,('A',1,'random text1', 'aaa1') 
    ,('A',2,'random text2', 'aaa2') 
    ,('B',12,'random text3', 'aaa3') 
    ,('B',1111,'random text4', 'aaa4') 
    ,('C',122312,'random text5', 'aaa5') 

SELECT 
    Qnty 
FROM @TABLE_1 WHERE Type = 'B' 

SELECT @UserChoosesOption = 12 

SELECT 
    Description, 
    MISCNUMB 
FROM @TABLE_1 
WHERE Qnty = @UserChoosesOption