मेरा पिछला जवाब mysql के लिए था। चूंकि तब से प्रश्न पर टैग अपडेट किया गया है, यहां sql-server-2008
के लिए क्वेरी है .
table_levels
. में मानों से स्तंभों की सूची बनाएं , अंतिम ,
remove को हटा दें , आपको table_results
. से परिणाम प्राप्त करने के लिए एक क्वेरी स्ट्रिंग बनाएं , और फिर निष्पादित करें।
DECLARE @listStr varchar(MAX) = ( select selectColumnName + ',' from table_levels where level = 1 for xml path(''))
DECLARE @query varchar(MAX) = 'SELECT ' + LEFT(@listStr, LEN(@listStr)-1) + ' FROM table_results'
execute(@query)
पिछला उत्तर। mssql
. के लिए काम करता है
देखें mysql के लिए डेमो
GROUP_CONCAT
का उपयोग करें table_levels
. में मानों से एक स्ट्रिंग बनाने के लिए और फिर table_results
. से आपको परिणाम प्राप्त करने के लिए एक क्वेरी स्ट्रिंग बनाएं
SET @listStr = ( SELECT GROUP_CONCAT(selectColumnName) FROM table_levels where level = 1);
SET @query := CONCAT('SELECT ', @listStr, ' FROM table_results');
PREPARE STMT FROM @query;
EXECUTE STMT;