2016-09-06 5 views
-2

정규 표현식을 사용하고 싶은 결과가 나오면 그 코드를 열에 배치하고 싶습니다. 예를 들어 : 나는 정규 표현식을 사용하고 범주화

hp 
dell 
intel 
lenovo 

위 가정 테이블의 컬럼 이름은, 정규 표현식에서 오는 결과라고합니다. 이제 hp 열이 의 hp 열에서 'Y'로 표시되어야 할 경우 hp를 쿼리로 바꾸고 싶습니다. 출력이 dell 인 경우 dell 열에서 'Y'로 표시하고 싶습니다. 출력이 Intel 인 경우 출력 Lenovo는 내가 당신과 같이 pivot 기능을 사용할 수 있습니다 레노버 열에서 'Y'로이

dell hp intel lenovo 
Y Y Y  Y 
+1

Cle ar을 진흙으로. 귀하의 질문이 어떻게 오른쪽 열에 (예를 들어, "hp 열"에서 hp 다음 Y) 나타나게하는 경우, 당신은 왜 hp의 가치에 대해 어떻게 신경을 써야합니까? 왜 당신은 그것이 정규 표현식의 결과물이 아니라 다른 어떤 것에서 나오는 것이 아니라고 생각합니까? 질문이 무엇인지 모르는 척하고 위의 문장을 읽으십시오 (다른 정보는 없습니다). 너에게 이해가 되니? 만약 그렇다면, 당신은 우리의 수준을 훨씬 상회합니다. 그것이 당신에게 이해가되지 않는다면 어떻게 우리에게 의미가있을 수 있습니까? – mathguy

+0

함께 작업하는 데이터는 어떻게 생겼습니까? 합리적인 권고를하기 위해서는 예제가 필요합니다. 질문을 수정하고 작업중인 데이터의 예와 결과를 포함하십시오. –

+0

두 가지 질문에. 우리 프런트 엔드 자바 응용 프로그램입니다. 즉, 데이터 및 기타 작업을 삽입/업데이트/삭제할 수있는 저장 프로 시저 목록을 제공합니다. 나는 물었다. 입력은 쉼표로 구분됩니다 *. 이 경우 데이터를 해당 열에 어떻게 삽입합니까? 이해가된다면 알려주세요. – newbie

답변

0

같은

무언가를 표시 할 경우 인텔 열 에 'Y'로 표시 할 :

SELECT * FROM 
(
    SELECT 'hp' NAME 
    FROM DUAL 
    UNION ALL 
    SELECT 'dell' 
    FROM DUAL 
    UNION ALL 
    SELECT 'intel' 
    FROM DUAL 
    UNION ALL 
    SELECT 'lenovo' 
    FROM DUAL 
) 
PIVOT 
(
    MAX('Y') 
    FOR NAME IN ('hp' AS hp, 'dell' AS dell, 'intel' AS intel ,'lenovo' AS lenovo) 
) 
관련 문제