MySQL - Select Concat صف بأكمله
-
06-07-2019 - |
سؤال
كيف يمكن تحديد و concat كل مجال في صف واحد ؟
أريد أن أفعل شيئا مشابهة لهذه:
SELECT concat(SELECT GROUP_CONCAT(COLUMN_NAME)
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'tbl_name')
as single FROM tbl_name
لكن من الواضح أعلاه لا تعمل.أي اقتراحات ؟
المحلول
وسيكون لديك لبناء الاستعلام حيوي، أي قائمة كافة الأعمدة في concat(...)
صراحة. يمكنك أن تفعل ذلك على جانب العميل عن طريق تشغيل اثنين من استفسارات أو في إجراء مخزن باستخدام عبارة المعدة.
نصائح أخرى
يمكنك أن تفعل ذلك في 3 خطوات:
1 - بناء قائمة الحقول
SELECT group_concat( column_name ) as field_list
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'TABLE_NAME'
GROUP BY table_name
LIMIT 0 , 1
2 - نسخ قيمة field_list المجال
3 - استخراج البيانات:
SELECT CONCAT( "Paste value copied at previous step" )
FROM TABLE_NAME
إذا قمت بإنشاء إجراء مخزن ، مما يمكنك الجمع بين الخطوات المذكورة أعلاه
لا تنتمي إلى StackOverflow