database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 31457 게시물 읽기
No. 31457
원하는 컬럼만 보여주는 방법???
작성자
이기자(k3i2)
작성일
2024-09-05 16:15
조회수
154

SELECT d.*

FROM(

    SELECT 1 As col_1,

            0 As col_2,

            0 As col_3,

            0 As col_4,

            3 As col_5,

            5 As col_6,

            0 As col_7,

            2 As col_8,

            0 As col_9,

            0 As col_10

)d

위를 실행하면, col1 ~ col10까지 10개의 컬럼이 보여지는데,

제일 위 SELECT d.* 단에서 값이 있는 컬럼만 나오게 할수있는가요?

그러니까... 위를 실행하면, col_1, col_5, col_6, col_8 이렇게 네개의 커럼만 나와야되는거죠

값은 계속 바뀔수있습니다.  col_3에 값이 들어갈수도있고 위에서 값이 있는게 0이 될수도 있고요..

이래저래 해봐도 잘 안되네요 ㅠ.ㅠ

이 글에 대한 댓글이 총 1건 있습니다.
-- 컬럼으로는 안되요.
-- 레코드 단위로는 가능합니다.

SELECT *
  FROM (SELECT CONCAT('col_', no) col_name
             , CASE no WHEN 1  THEN col_1
                       WHEN 2  THEN col_2
                       WHEN 3  THEN col_3
                       WHEN 4  THEN col_4
                       WHEN 5  THEN col_5
                       WHEN 6  THEN col_6
                       WHEN 7  THEN col_7
                       WHEN 8  THEN col_8
                       WHEN 9  THEN col_9
                       WHEN 10 THEN col_10
                END As col_value
          FROM (SELECT 1 As col_1
                     , 0 As col_2
                     , 0 As col_3
                     , 0 As col_4
                     , 3 As col_5
                     , 5 As col_6
                     , 0 As col_7
                     , 2 As col_8
                     , 0 As col_9
                     , 0 As col_10
                ) d
             , (SELECT 1 no
                UNION ALL SELECT 2
                UNION ALL SELECT 3
                UNION ALL SELECT 4
                UNION ALL SELECT 5
                UNION ALL SELECT 6
                UNION ALL SELECT 7
                UNION ALL SELECT 8
                UNION ALL SELECT 9
                UNION ALL SELECT 10
                ) n
        ) a
 WHERE col_value > 0
;

 
마농(manon94)님이 2024-09-09 10:59에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
31459MySQL or MariaDB DBA 교육과정 추천해주세요.
testguy
2024-10-03
13
31458숫자를 영문 알파벳으로 변환할수 있나요? [3]
이기자
2024-09-30
39
31457원하는 컬럼만 보여주는 방법??? [1]
이기자
2024-09-05
154
31456SQL2017 미러링 오류 문의드립니다 [1]
미러링
2024-06-17
473
31455처음으로 질문을 드려봅니다.(with 문) [1]
침착맨
2024-06-10
449
31454mysql 과부하 [3]
즐겨즐겨
2024-04-14
688
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다