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

Kolom Dinamis dalam pernyataan SQL Select, menjaga nilai yang tidak ditentukan

Anda sangat dekat. Anda harus menggabungkan tabel kunci/nilai itemproperties sekali untuk setiap kunci (properti) berbeda yang perlu Anda ambil. Masalahnya, Anda harus menggunakan LEFT JOIN . JOIN dalam polos menekan baris output ketika kriteria join tidak terpenuhi.

Coba ini.

SELECT i.ID as ItemID, i.Name as ItemName, 
       p1.Value AS Color, p2.Value AS Speed, p3.Value AS Price
  FROM items as i
  LEFT JOIN itemproperties AS p1 ON (i.ID=p1.ItemID) AND (p1.Name = 'Color')
  LEFT JOIN itemproperties AS p2 ON (i.ID=p2.ItemID) AND (p2.Name = 'Speed')
  LEFT JOIN itemproperties AS p3 ON (i.ID=p3.ItemID) AND (p3.Name = 'Price')

Ekspresi yang memilih Name nilai (z.B. p3.Name = 'Price' ) masuk ke ON klausa daripada WHERE . Anda 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. Pilihan Bersarang menggunakan Zend Db

  2. Hibernasi otomatis buat database

  3. MYSQL - Pindahkan data dari satu tabel ke tabel terkait?

  4. Hubungkan database mysql online dengan server xampp lokal menggunakan php

  5. Dapatkan utas terbaru yang tidak diikuti oleh pengguna