0 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)

من داده های خودم رو در دیتابیس MySQL بصورت metadata ذخیره کردم:

+-----------+----------+
| colHeader | value    |
+-----------+----------+
| Header1   | value 1  |
+-----------+----------+
| Header2   | value 2  |
+-----------+----------+
| Header3   | value 3  |
+-----------+----------+

حالا می خواهم Query بنویسم که اطلاعات درون ستون colHeader بصورت عنوان ستون در بیاید:

+-----------+-----------+-----------+
| Header1   | header2   | Header3   |
+-----------+-----------+-----------+
| Value 1   | value 2   | Value 3   |
+-----------+-----------+-----------+

1 پاسخ

0 امتیاز
قبل توسط (1.1هزار امتیاز)

برای این کار MySQL دستور با نام GROUP_CONCAT دارد:

    SELECT  
      GROUP_CONCAT(if(colHeader = 'Header 1', value, NULL)) AS 'Header 1', 
      GROUP_CONCAT(if(colHeader = 'Header 2', value, NULL)) AS 'Header 2', 
      GROUP_CONCAT(if(colHeader = 'Header 3', value, NULL)) AS 'Header 3' 
    FROM myTable; 

لینک تست عملی با SQL Fiddle

سوالات مشابه

0 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
+1 امتیاز
1 پاسخ 8.0هزار بازدید
0 امتیاز
0 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 429 بازدید
+1 امتیاز
1 پاسخ 380 بازدید
0 امتیاز
1 پاسخ 317 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط IMANAZADI (72 امتیاز)
0 امتیاز
1 پاسخ 368 بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط IMANAZADI (72 امتیاز)
0 امتیاز
0 پاسخ 331 بازدید
...