Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

SQL:Pilih kolom sebagai

Jika Anda memiliki jumlah id bahasa yang tetap, Anda dapat melakukannya sebagai:

select id,
       max(case when LanguageId = 1 then text end) as "1",
       max(case when LanguageId = 2 then text end) as "2",
       max(case when LanguageId = 3 then text end) as "3"
from t
group by id;

Jika Anda tidak mengetahui id bahasa sebelumnya, maka Anda perlu menggunakan SQL dinamis untuk membuat kueri, lalu menyiapkan dan menjalankannya.

Jika languageid dinamis:

select @s = concat('select id',
                   group_concat(concat(', max(case when LanguageId = ',
                                       LanguageId,
                                       ' then text end) as "',
                                       LanguageId, '"'
                                      )
                               ),
                   ' from t group by id'
                  )
from (select distinct LanguageId from t) t;

PREPARE stmt1 FROM @s;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah Anda sudah memiliki server mysqld lain yang berjalan di port:3306 Ubuntu?

  2. Masalah pengkodean PHP/MySQL. � bukan karakter tertentu

  3. MYSQL Jika pernyataan dalam transaksi menyebabkan kesalahan

  4. SQL untuk menghitung berdasarkan tanggal

  5. Meminta beberapa database sekaligus