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

Bergabung dengan beberapa tabel tanpa kunci umum

Satu pendekatan yang mungkin:

SELECT l.Item, m.name, c.Color
      FROM linkage_Table AS l
INNER JOIN Material_Table AS m
        ON l.Material = '*'
           OR l.Material = m.name
INNER JOIN Color_Table AS c
        ON l.Color = '*'
           OR l.Color = c.Color

SQL Fiddle

Penjelasan:query harus dibuat agar tabel 'material' dan 'color' digabungkan dengan baik (cross-join), ketika '*' diberikan di bidang yang sesuai, atau dengan kesetaraan bidang ini. Dan itulah yang kami dapatkan dengan menggunakan 'ON l.someField = '*' OR l.someField = joined.someField' klausa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Penggabungan batin dengan klausa serupa

  2. Menggunakan Match and Against di MySQL dan CodeIgniter

  3. Bagaimana cara menegakkan integritas referensial pada Warisan Tabel Tunggal?

  4. Perbarui nilai kolom ke COUNT baris untuk nilai tertentu dalam tabel yang sama

  5. Cara terbaik untuk membangun mesin pencari mySQL &PHP SMART?