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

PILIH dari dua tabel berdasarkan id yang sama dan dikelompokkan

Sebuah union akan sesuai dengan masalah Anda. Beberapa pemijatan data diperlukan untuk memberikan kedua sisi gabungan jumlah dan jenis kolom yang sama:

select  group_id
,       id as item_id
,       name
,       description
,       source_table
from    (
        select  id
        ,       user_id
        ,       group_id
        ,       name
        ,       description
        ,       'from table1' source_table
        from    table1
        union all
        select  id
        ,       user_id
        ,       group_id
        ,       name
        ,       description
        ,       'from table2'  -- Column name is already defined above
        from    table2
        ) as SubQueriesMustBeNamed
where   user_id = 1
order by
        group_id
,       name

Contoh kerja di SQL Fiddle.

Untuk memformat kumpulan hasil sesuka Anda, ulangi kumpulan hasil. Ketika group_id perubahan, cetak # Group N # tajuk.

Seharusnya tidak perlu memiliki loop atau iterasi lain di sisi klien, cukup satu foreach atau setara di atas kumpulan baris yang dikembalikan oleh kueri.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memilih nilai yang berbeda dalam tabel gabungan

  2. Tidak dapat Menghubungkan wadah MySQL ke Tomcat Container di buruh pelabuhan

  3. Hitung usia dengan desimal dari tanggal lahir

  4. Penulisan Docker memeriksa apakah koneksi mysql sudah siap

  5. Mengunci meja dengan hibernasi