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

MySQL menggabungkan banyak ke banyak baris tunggal

Anda memerlukan dua gabungan:

SELECT
    product.productID,
    category.categoryID,
    product.name,
    product.price,
    category.name
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID

Jika produk tidak termasuk dalam kategori dan Anda masih ingin mengembalikannya, ubah JOIN menjadi LEFT JOIN di kedua tempat.

Pendekatan alternatif:

SELECT
    product.productID,
    product.name,
    product.price,
    GROUP_CONCAT(category.name)
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID
GROUP BY product.productID

Namun mungkin lebih baik menggunakan dua kueri daripada memasukkan beberapa nilai ke dalam satu sel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan MySQL 1005?

  2. Bisakah kunci asing mereferensikan indeks yang tidak unik?

  3. Cara Menggunakan STRCMP() untuk Membandingkan 2 String di MySQL

  4. Menulis ulang mysql pilih untuk mengurangi waktu dan menulis tmp ke disk

  5. SQL Query Untuk Menghapus Tabel Di MySQL