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

Pernyataan tunggal MySQL untuk menggabungkan dua tabel

Anda dapat melakukannya dengan join dan group by :

select u.*, firstname, lastname
from user u join
     (select uf.user_id,
             max(case when key = 'firstname' then value end) as firstname,
             max(case when key = 'lastname' then value end) as lastname
      from user_field uf
      group by user_id
     ) uf
     on uf.user_id = u.id;

Anda juga dapat melakukan ini dengan urutan gabungan:

select u.*. firstname.value, lastname.value
from user u join
     user_field firstname
     on u.id = firstname.user_id and firstname.key = 'firstname' join
     user_field lastname
     on u.id = lastname.user_id and lastname.key = 'lastname';

Hasil Anda tampaknya membatasi ini hanya pada satu id pengguna. Anda mungkin ingin where klausa dengan filter ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Meng-upgrade MySQL di CentOS

  2. Pengantar Perintah SQL

  3. Prosedur tersimpan yang secara otomatis menghapus baris yang lebih lama dari 7 hari di MYSQL

  4. Kesalahan SQL (1215):Tidak dapat menambahkan batasan kunci asing

  5. mysql memesan bidang varchar sebagai bilangan bulat