यदि आप अपना कोड देखें (और ज़ूम इन करें):
SET @sql = CONCAT('SELECT id_c, students,', @sql, '
[..]
CONCAT(B.`code`, '_', A.id_a) col,
CONCAT(D.value_m, ',', D.value_n) val
[..]
GROUP BY id_c'
);
आप देखेंगे कि _
और ,
काले हैं, जबकि उन्हें स्ट्रिंग के हिस्से के रूप में लाल होना चाहिए। इसका मतलब है कि आपकी स्ट्रिंग वहां "टूटी हुई" है। तो आपको ''
. के साथ सिंगल कोट्स से बचने की जरूरत है :
SET @sql = CONCAT('SELECT id_c, students,', @sql, '
[..]
CONCAT(B.`code`, ''_'', A.id_a) col,
CONCAT(D.value_m, '','', D.value_n) val
[..]
GROUP BY id_c'
);
या सिंगल कोट्स वाले स्ट्रिंग्स के लिए डबल कोट्स का उपयोग करें:
SET @sql = CONCAT('SELECT id_c, students,', @sql, "
[..]
CONCAT(B.`code`, '_', A.id_a) col,
CONCAT(D.value_m, ',', D.value_n) val
[..]
GROUP BY id_c"
);
अब पूरा तार लाल जैसा होना चाहिए :-)
http://rextester.com/SLMU41976