본문 바로가기
MySql

MySQL 열 이름이 N 개의 알려진 값 중 하나 인 MYSQL에서 열 이름을 동적으로 선택할 수 있습니까?

by 베이스 공부 2020. 12. 27.
반응형

대답이 곧바로 '아니오'가 될까 두렵지 만 MySQL에서 다음과 같은 일을 할 수 있는지 궁금합니다.

SELECT (title || label || name) FROM table

즉, table 에서 title , label 또는 name 이라고하는 단일 열을 선택합니다.

이유 : 쿼리는 table 이 알려진 곳에서 동적으로 생성되지만 (내가 통제 할 수없는 이유로) 다른 테이블에는 일관된 명명 규칙이 없습니다.

 

해결 방법

 

트릭입니다.

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='YOUR_TABLE_NAME' AND COLUMN_NAME IN ('name', 'label', 'title') into @colname;
SET @table = 'YOUR_TABLE_NAME';
SET @query = CONCAT('SELECT ',@colname,' FROM ', @table);

PREPARE stmt FROM @query;
EXECUTE stmt;


 

참조 페이지 https://stackoverflow.com/questions/17572848

 

 

반응형

댓글