|
¿äÁò php¿Í mysqlÀ» °øºÎÇÏ¸é¼ °Ô½ÃÆÇÀ» °³¹ßÇØº¸°í ÀÖ½À´Ï´Ù.
±×´©º¸µå³ª Á¦·Îº¸µåµîÀ» Âü°íÇØ°¡¸é¼¿ä..
mysql case¹®À» Àû¿ëÇØº¸´Ù°¡ ±Ã±ÝÇÏ¿©¼ ÀÌ·¸°Ô ¼±»ý´Ôµé²² ¿©Â庾´Ï´Ù.
ÀÌ case¹®ÀÇ ¿ø¸®?´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡¿ä?
°Ô½ÃÆÇÀÇ ±ÛÀ» ¿¶÷ÇÒ ¶§
¹®¼»óÅ¿¡ µû¶ó¼ Â÷´Ü±ÛÀÏ °æ¿ì `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`¿¡¼ ÇØ´çÁ¤º¸¸¦ °¡Á®¿Àµµ·Ï ÇÏ¿´½À´Ï´Ù.
À̶§ `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`¿¡¼ ´©°¡ Â÷´Ü±Û·Î ÁöÁ¤À» ÇÏ¿´´ÂÁö `ȸ¿øÅ×À̺í`¿¡¼µµ Á¤º¸¸¦ °¡Á®¿É´Ï´Ù.
±×¸®°í, ÇöÀç ±ÛÀÌ È¸¿øÀÌ ³²±ä±ÛÀ̸é ȸ¿øÅ×ÀÌºí¿¡¼ ´Ð³×ÀÓ¶Ç´Â ¾ÆÀ̵𸦠°¡Á®¿Àµµ·Ï ÁöÁ¤ÇÏ¿´½À´Ï´Ù.
¿©±â¼ ±Ã±ÝÇÑ°Ô ¾Æ·¡Äõ¸®Ã³·³ ³¯¸±¶§¿¡ `¹®¼»óÅÂ`°¡ Â÷´Ü±ÛÀÌ ¾Æ´Ò°æ¿ì¿¡µµ `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`À» °Ë»çÇÒ±î¿ä?
¾Æ´Ï¸é ¹Ù·Î ´ÙÀ½À¸·Î ³Ñ¾î°¡³ª¿ä????
Äõ¸®¹®
SELECT
`°Ô½ÃÆÇÅ×À̺í`.* ,
CASE `°Ô½ÃÆÇÅ×À̺í`.`¹®¼»óÅÂ`
WHEN "Â÷´Ü±Û"
THEN (
SELECT
CONCAT("¡Ø ÀÌ °Ô½Ã±ÛÀº ",`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`ÀÏÀÚ`," ",
(SELECT
`°ü¸®ÀÚ ´Ð³×ÀÓ`
FROM
`ȸ¿øÅ×À̺í`
WHERE
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`ȸ¿ø¹øÈ£` = `ȸ¿ø¹øÈ£`
),"´Ô¿¡ ÀÇÇØ¼ Â÷´ÜµÇ¾ú½À´Ï´Ù. ÀÌÀ¯ : ",`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`Â÷´Ü ÀÌÀ¯ ³»¿ë`,"")
FROM
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í` as `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`
WHERE
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`°Ô½ÃÆÇ¹øÈ£` = "°Ô½ÃÆÇ¹øÈ£" && `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`¹®¼¹øÈ£` = "¹®¼¹øÈ£")
ELSE
IF(`°Ô½ÃÆÇÅ×À̺í`.`½Å°íÁöÁ¤ °Ç¼ö` >= 50,"¡Ø ÀÌ °Ô½Ã±ÛÀº ½Å°íÁöÁ¤ °Ç¼ö¸¦ ÃʰúÇÏ¿´½À´Ï´Ù.",`°Ô½ÃÆÇÅ×À̺í`.`¹®¼³»¿ë`)
END
as `¹®¼³»¿ë` ,
IF(A.`ȸ¿ø¹øÈ£`,
(SELECT
IF(`´Ð³×ÀÓ` != "" ,`´Ð³×ÀÓ`,`¾ÆÀ̵ð`)
FROM
`ȸ¿øÅ×À̺í`
WHERE
`°Ô½ÃÆÇÅ×À̺í`.`ȸ¿ø¹øÈ£` = `ȸ¿ø¹øÈ£`
),`°Ô½ÃÆÇÅ×À̺í`.`±Û¾´ÀÌ`) as `±Û¾´ÀÌ`
FROM
`°Ô½ÃÆÇÅ×À̺í` as `°Ô½ÃÆÇÅ×À̺í`
WHERE
`°Ô½ÃÆÇÅ×À̺í`.`¹®¼¹øÈ£` = '¹®¼¹øÈ£'
explain ½ÇÇà°èȹ..(¸Â³ª?)
----------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
| 1 | PRIMARY | A | const | PRIMARY | PRIMARY | 4 | const | 1 | |
| 4 | DEPENDENT SUBQUERY | member | const | PRIMARY | PRIMARY | 4 | const | 1 | |
| 2 | SUBQUERY | BLIND | ref | blind_board_id | blind_board_id | 771 | const,const | 1 | Using where |
| 3 | DEPENDENT SUBQUERY | member | eq_ref | PRIMARY | PRIMARY | 4 | pro1.BLIND.m_uid | 1 | |
+----+--------------------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
¿äÁò php¿Í mysqlÀ» °øºÎÇÏ¸é¼ °Ô½ÃÆÇÀ» °³¹ßÇØº¸°í ÀÖ½À´Ï´Ù.
±×´©º¸µå³ª Á¦·Îº¸µåµîÀ» Âü°íÇØ°¡¸é¼¿ä..
mysql case¹®À» Àû¿ëÇØº¸´Ù°¡ ±Ã±ÝÇÏ¿©¼ ÀÌ·¸°Ô ¼±»ý´Ôµé²² ¿©Â庾´Ï´Ù.
ÀÌ case¹®ÀÇ ¿ø¸®?´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡¿ä?
°Ô½ÃÆÇÀÇ ±ÛÀ» ¿¶÷ÇÒ ¶§
¹®¼»óÅ¿¡ µû¶ó¼ Â÷´Ü±ÛÀÏ °æ¿ì `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`¿¡¼ ÇØ´çÁ¤º¸¸¦ °¡Á®¿Àµµ·Ï ÇÏ¿´½À´Ï´Ù.
À̶§ `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`¿¡¼ ´©°¡ Â÷´Ü±Û·Î ÁöÁ¤À» ÇÏ¿´´ÂÁö `ȸ¿øÅ×À̺í`¿¡¼µµ Á¤º¸¸¦ °¡Á®¿É´Ï´Ù.
±×¸®°í, ÇöÀç ±ÛÀÌ È¸¿øÀÌ ³²±ä±ÛÀ̸é ȸ¿øÅ×ÀÌºí¿¡¼ ´Ð³×ÀÓ¶Ç´Â ¾ÆÀ̵𸦠°¡Á®¿Àµµ·Ï ÁöÁ¤ÇÏ¿´½À´Ï´Ù.
¿©±â¼ ±Ã±ÝÇÑ°Ô ¾Æ·¡Äõ¸®Ã³·³ ³¯¸±¶§¿¡ `¹®¼»óÅÂ`°¡ Â÷´Ü±ÛÀÌ ¾Æ´Ò°æ¿ì¿¡µµ `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`À» °Ë»çÇÒ±î¿ä?
¾Æ´Ï¸é ¹Ù·Î ´ÙÀ½À¸·Î ³Ñ¾î°¡³ª¿ä????
Äõ¸®¹®
SELECT
`°Ô½ÃÆÇÅ×À̺í`.* ,
CASE `°Ô½ÃÆÇÅ×À̺í`.`¹®¼»óÅÂ`
WHEN "Â÷´Ü±Û"
THEN (
SELECT
CONCAT("¡Ø ÀÌ °Ô½Ã±ÛÀº ",`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`ÀÏÀÚ`," ",
(SELECT
`°ü¸®ÀÚ ´Ð³×ÀÓ`
FROM
`ȸ¿øÅ×À̺í`
WHERE
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`ȸ¿ø¹øÈ£` = `ȸ¿ø¹øÈ£`
),"´Ô¿¡ ÀÇÇØ¼ Â÷´ÜµÇ¾ú½À´Ï´Ù. ÀÌÀ¯ : ",`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`Â÷´Ü ÀÌÀ¯ ³»¿ë`,"")
FROM
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í` as `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`
WHERE
`Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`°Ô½ÃÆÇ¹øÈ£` = "°Ô½ÃÆÇ¹øÈ£" && `Â÷´Ü±Û¸ñ·ÏÅ×À̺í`.`¹®¼¹øÈ£` = "¹®¼¹øÈ£")
ELSE
IF(`°Ô½ÃÆÇÅ×À̺í`.`½Å°íÁöÁ¤ °Ç¼ö` >= 50,"¡Ø ÀÌ °Ô½Ã±ÛÀº ½Å°íÁöÁ¤ °Ç¼ö¸¦ ÃʰúÇÏ¿´½À´Ï´Ù.",`°Ô½ÃÆÇÅ×À̺í`.`¹®¼³»¿ë`)
END
as `¹®¼³»¿ë` ,
IF(A.`ȸ¿ø¹øÈ£`,
(SELECT
IF(`´Ð³×ÀÓ` != "" ,`´Ð³×ÀÓ`,`¾ÆÀ̵ð`)
FROM
`ȸ¿øÅ×À̺í`
WHERE
`°Ô½ÃÆÇÅ×À̺í`.`ȸ¿ø¹øÈ£` = `ȸ¿ø¹øÈ£`
),`°Ô½ÃÆÇÅ×À̺í`.`±Û¾´ÀÌ`) as `±Û¾´ÀÌ`
FROM
`°Ô½ÃÆÇÅ×À̺í` as `°Ô½ÃÆÇÅ×À̺í`
WHERE
`°Ô½ÃÆÇÅ×À̺í`.`¹®¼¹øÈ£` = '¹®¼¹øÈ£'
explain ½ÇÇà°èȹ..(¸Â³ª?)
----------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+--------------------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
| 1 | PRIMARY | A | const | PRIMARY | PRIMARY | 4 | const | 1 | |
| 4 | DEPENDENT SUBQUERY | member | const | PRIMARY | PRIMARY | 4 | const | 1 | |
| 2 | SUBQUERY | BLIND | ref | blind_board_id | blind_board_id | 771 | const,const | 1 | Using where |
| 3 | DEPENDENT SUBQUERY | member | eq_ref | PRIMARY | PRIMARY | 4 | pro1.BLIND.m_uid | 1 | |
+----+--------------------+--------+--------+----------------+----------------+---------+------------------+------+-------------+
|