2012-07-04 2 views
-2

이 테이블은 어떻게 전달 된 매개 변수가 Item_Name 및 Spec_Name인지 아래에 샘플 출력이 있는지 쿼리 할 수 ​​있습니다. ITEM_NAME의 = 원에 대한오라클 : 하위 그룹화를위한 SQL

Item_Name Item_Value  Spec_Name Spec_Value 
--------- ----------  --------- ---------- 
Circle  Zed Circle  Diameter 180 
Circle  Charlo Circle Diameter 330 
Square  Ash Square  Side  120 

샘플 출력 및 Spec_Name = 직경 :

Circle    Zed Circle - Diameter 
-------------  --------------------- 
Zed Circle   180 
Charlo Circle  330 

나는 MAX() 함수를 사용하려고하지만 그것은 단지 나에게 여기에 (330) :(

을 줄입니다했습니다 전체 쿼리

SELECT CASE 
    WHEN (ITEM_NAME = 'Circle') THEN 
     MAX(ITEM_VALUE) 
    END AS "Circle", 
    CASE 
    WHEN (ITEM_NAME = 'Circle' AND SPEC_NAME = 'Diameter') THEN 
     MAX(SPEC_VALUE) 
    END AS "Circle - Diameter" 
    from TBL_SHAPES 

사용자가이 시도했다 편집

, 의견에 언급

.

감사합니다.

+0

당신은 당신이 지금하고있는 것은 단순한를 필요로 무엇을하려고 설명해주십시오 :'테이블에서 선택 * 어디 ITEM_NAME의 = '서클'과 Spec_Name = 'Diameter'' – alfasin

+0

실수에서 만들어 죄송합니다 욕망의 결과. 나는 시도했다 : (ITEM_NAME = '서클'AND SPEC_NAME = '직경') 그때 MAX (SPEC_VALUE) 끝 – Ianthe

+0

당신이 사용한 SQL 문에 게시하십시오. 또한 기대되는 결과를 알리라. – Azi

답변

0

WHERE을 사용해 보셨습니까?

SELECT item_value AS Circle, spec_value AS Diameter 
FROM tbl_shapes 
WHERE item_name = 'Circle' AND spec_name = 'Diameter' 
ORDER BY spec_value