2012-10-23 3 views
1

저는 꽤 SQL에 새롭고 저에게 곤란한 문제가 있습니다. 내가하려는 일을 설명하는 것이 더 쉽습니다. 나는 테이블에 열이 t.number인데 그 테이블에 4, 6 또는 저에게 관심이없는 것을 포함하고 있습니다. 텍스트 필드 t.text에 해당합니다. 여기에 내가 뭘 원하는지의 의사 코드는 다음과 같습니다 내가 작성하려고단일 열의 여러 AS 문

if (t.number == 4) 
    t.text as ImAFour 
else if (t.number == 6) 
    t.text as ImASix 

모든 번 항목이나 덮어 쓰기로 끝납니다. 어떤 아이디어? 정확한 구문은 원래의 질문에 태그되지 않은 사용자의 RDBMS에 따라 달라집니다

SELECT 
    CASE t.number WHEN 4 THEN t.text ELSE '' END AS ImAFour, 
    CASE t.number WHEN 6 THEN t.text ELSE '' END as ImASix, 
    .... 
FROM table t 

:

+0

SQL Case 문에 대한 다음 게시물을 참조하십시오. http://stackoverflow.com/questions/4622/sql-case-statement-syntax – Garett

답변

2

당신은 뭔가를 시도 할 수 있습니다.

+0

우수성이 좋아 보이지만 이제는 내 경험 부족에 대한 변명의 여지가 있지만 이 select 문을 내 주요 select 문에 포함 시키시겠습니까? 나는 언급하지 않았지만 다른 분야도 끌어 당기고있다. 그러나 나는 그것의 버전을 시도했고 그것은 중복으로 이끌었다. 해야 할 일 : SELECT t.1, t.2, SELECT '코드'? – KJ3

+0

'SELECT field1, field2, ... '와 같은 것. 케이스 t.number 일 때 4. t. tes 이후 ELSE' '끝으로 ImAFour, 케이스 t.number 일 때 6. t. t ...'각 case 문은 쿼리 결과 집합에서 별도의 열/필드가됩니다. – Ryan