簡體   English   中英

使用一個表中的結果字符串作為另一查詢的列名

[英]use result string from one table as column names for another query

我正在嘗試簡化以下查詢:-

SELECT id, m_field_id_46 AS Liverpool,m_field_id_47 AS London,m_field_id_48 AS Belfast FROM member_data

我可以動態地創建列名

SELECT id, (SELECT GROUP_CONCAT('m_field_id_',m_field_id,' AS ',m_field_label) FROM member_fields) as dist FROM member_data

但是,這不起作用。 請幫忙

我通過查看stackoverflow的另一個答案來使其工作:-

SET @listStr = ( SELECT GROUP_CONCAT('md.m_field_id_',m_field_id,' AS `',m_field_label,'`') FROM member_fields );
SET @query := CONCAT('SELECT ', @listStr, ' FROM member_data');
PREPARE STMT FROM @query;
EXECUTE STMT;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM