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

Kueri SQL, hanya pilih jika kolom bukan nol, jika tidak, jangan pilih

Jika Anda ingin mendapatkan baris dengan dua kolom saat ada dua kolom bukan nol, dan 1 jika hanya ada satu, Anda harus membuat kueri secara dinamis.

Jika Anda ingin selalu memiliki 1 kolom yang setiap barisnya berisi nilai bukan nol, Anda dapat melakukannya dengan gabungan.

SELECT a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT c FROM tbl WHERE c IS NOT NULL AND id = ?

Jika Anda ingin mengetahui dari kolom mana nilai tersebut berasal, Anda dapat melakukan sesuatu seperti ini:

SELECT 'col a' AS ColName, a FROM tbl WHERE a IS NOT NULL AND id = ?
UNION
SELECT 'col b', b FROM tbl WHERE b IS NOT NULL AND id = ?
UNION
SELECT 'col c', c FROM tbl WHERE c IS NOT NULL AND id = ?

Catatan:union juga menghapus hasil duplikat. Jika Anda ingin menyimpan duplikat, gunakan UNION ALL .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi MySQL CRC32() – Contoh

  2. Grup MySQL Berdasarkan dan Pesan Berdasarkan

  3. Permintaan MySQL berfungsi di phpmyadmin tetapi tidak di php

  4. Bagaimana cara memilih baris yang dikelompokkan dengan hanya nilai NULL?

  5. Apakah nama kata yang dicadangkan di MySQL?