जबकि @ जॉन का स्थिर उत्तर बहुत अच्छा काम करता है, यदि आपके पास अज्ञात संख्या में कॉलम हैं जिन्हें आप बदलना चाहते हैं, तो मैं परिणाम प्राप्त करने के लिए तैयार कथन का उपयोग करने पर विचार करूंगा:
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'GROUP_CONCAT((CASE node_id when ',
node_id,
' then entered_value else NULL END)) AS user_input',
node_id
)
) INTO @sql
FROM trn_user_log;
SET @sql = CONCAT('SELECT app_id, transaction_id, mobile_no, ', @sql, '
FROM trn_user_log
GROUP BY app_id, transaction_id, mobile_no');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
देखें SQL Fiddle with Demo
जहाँ तक आपका दूसरा सवाल है, कृपया स्पष्ट करें कि आप क्या करने की कोशिश कर रहे हैं यह स्पष्ट नहीं है।