Oracle Äõ¸®¸¦ Â¥´Âµ¥
¼ºÀû Å×ÀÌºí¿¡
Çаú Çгâ À̸§ °ú¸ñ ¼ºÀû À̶ó´Â Ä÷³ÀÌ Á¸ÀçÇϴµ¥
°Ë»ö °á°ú·Î
Çаú Çгâ À̸§ °ú¸ñ ¼ºÀû ºñ°í
ÄÄÇ»ÅÍ°øÇаú 3 È«±æµ¿ µ¥ÀÌÅͺ£À̽º A V
ÄÄÇ»ÅÍ°øÇаú 3 È«±æµ¿ ³×Æ®¿öÅ© B V
ÄÄÇ»ÅÍ°øÇаú 1 ÀÓ²©Á¤ µ¥ÀÌÅͺ£À̽º A
ÄÄÇ»ÅÍ°øÇаú 2 ±è¼öÇö µ¥ÀÌÅͺ£À̽º A
°æ¿µÇаú 4 À嵿°Ç °æ¿µÇа³·Ð A+ V
°æ¿µÇаú 4 À嵿°Ç ¹Ì½Ã°æÁ¦·Ð B V
ÀÌ·±½ÄÀ¸·Î (Çаú Çгâ À̸§ )ÀÌ µ¿ÀÏÇÑ °æ¿ì¿¡ ºñ°í¿¡ VȤÀº ´Ù¸¥ ±âÈ£·Î Çаú Çгâ À̸§ÀÌ Áߺ¹µÇ´Â °ªÀÌ ÀÖ´Ù´Â°É Ç¥½ÃÇÏ°í ½ÍÀºµ¥ ¾î¶² ¹æ¹ýÀÌ ÀÖÀ»±î¿ä? | |
|
¾Æ·¡´Â ¿À¶óŬ·Î Ç¥ÇöÇÑ ¿¹½Ã ÀÔ´Ï´Ù.
WITH LIST AS (
SELECT \'ÄÄ°ø\' AS CLASS, \'3\' AS GRADER , \'È«±æµ¿\' AS NAME, \'µ¥ÀÌÅͺ£À̽º\' AS SUBJECT, \'A\' AS GRADE FROM DUAL UNION ALL
SELECT \'ÄÄ°ø\' AS CLASS, \'3\' AS GRADER , \'È«±æµ¿\' AS NAME, \'³×Æ®¿öÅ©\' AS SUBJECT, \'B\' AS GRADE FROM DUAL UNION ALL
SELECT \'ÄÄ°ø\' AS CLASS, \'1\' AS GRADER , \'ÀÓ²©Á¤\' AS NAME, \'µ¥ÀÌÅͺ£À̽º\' AS SUBJECT, \'A\' AS GRADE FROM DUAL UNION ALL
SELECT \'ÄÄ°ø\' AS CLASS, \'2\' AS GRADER , \'±è¼öÇö\' AS NAME, \'µ¥ÀÌÅͺ£À̽º\' AS SUBJECT, \'A\' AS GRADE FROM DUAL UNION ALL
SELECT \'ÄÄ°ø\' AS CLASS, \'4\' AS GRADER , \'À嵿°Ç\' AS NAME, \'°æ¿µÇа³·Ð\' AS SUBJECT, \'A+\' AS GRADE FROM DUAL UNION ALL
SELECT \'ÄÄ°ø\' AS CLASS, \'4\' AS GRADER , \'À嵿°Ç\' AS NAME, \'¹Ì»ç°æÁ¦·Ð\' AS SUBJECT, \'B\' AS GRADE FROM DUAL
)
SELECT A.CLASS, A.GRADER, A.NAME, A.SUBJECT, A.GRADE, DECODE(B.CNT, 1, \'\', \'V\') AS ETC
FROM LIST A
,(SELECT CLASS, GRADER, NAME, COUNT(*) AS CNT FROM LIST GROUP BY CLASS, GRADER, NAME) B
WHERE A.CLASS = B.CLASS
AND A.GRADER = B.GRADER
AND B.NAME = B.NAME