2012-04-19 4 views
2

Hallo 친애하는 Stackoverflow 사용자.데이터를 새 열로 필터링하는 방법은 무엇입니까? sql

SQL 서버 나 포럼과 인터넷을 검색했지만 내가 무엇을 달성하고자 관한 정보를 발견하지 않았습니다

에서 SQL 작업. 주로 정확한 용어를 모르기 때문에.

새로운보기를 만들었습니다. 다른 데이터를 열 (ver_klass)에서 새로 만든 열로 필터링하고 싶습니다.

아래 사진은 현재 내보기가 어떻게 보이는지입니다. 이 것을 어떻게 할 수있는 경우

ver_rayon |ver_metier |ver_secteur 
96   |   | 
96   |   | 
      | M10  | 
      | M11  | 
      |   |S1 
12   |   | 

내가 알고 싶은 :

enter image description here

내가보기를 표현하고자하는 방법이다. 고마워요

+0

어떤 데이터베이스를 사용하고 있으며 무엇을 시도 했습니까? – Teja

+0

내 작업 alias_dat에서 사용자 지정 데이터베이스를 사용하고 있으며 SQL Server에 ssis 패키지를 통해 oracle에서 데이터를로드해야했습니다. 이제 ver_klass 열의 데이터가 혼합됩니다. 보고서에 대한 역할을 만드는 데 필요합니다. 필터를 사용하여 새 열을 추가하려고했지만 구문이 효과가 있다고 생각하지 않습니다. – xtarsy

답변

4

이 메시지는 몇 가지 CASE 문으로 관리 할 수 ​​있습니다. 처음에 ver_klass의 문자가 M 또는 S인지 확인하고 각각 다른 조치를 취하는 것이 좋습니다. 따라서 첫 번째 경우 M이 아닌 경우 S 값은 ver_rayon이됩니다. 두 번째 및 세 번째 경우는 각각 MS을 찾고 해당 열에 저장합니다. 행은 세 가지 경우 중 하나만 일치하므로 다른 두 개는 NULL로 처리됩니다.

SELECT 
... 
... 
CASE WHEN LEFT(ver_klass, 1) <> 'S' AND LEFT(ver_klass, 1) <> 'M' THEN ver_klass ELSE NULL END AS ver_rayon, 
CASE WHEN LEFT(ver_klass, 1) = 'M' THEN ver_klass ELSE NULL END AS ver_metier, 
CASE WHEN LEFT(ver_klass, 1) = 'S' THEN ver_klass ELSE NULL END AS ver_secteur, 
+0

빠른 답장을 보내 주셔서 감사합니다. 바로 확인해 드리겠습니다. 그 결과에 대한 피드백을 드릴 것입니다.) – xtarsy

+1

화려한 작품처럼 매력. 행복한 내가 오늘 새로운 것을 배웠다.) – xtarsy

관련 문제