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

MySQL JIKA ELSEIF dalam kueri pemilihan

Anda memiliki apa yang telah Anda gunakan dalam prosedur tersimpan seperti ini untuk referensi, tetapi tidak dimaksudkan untuk digunakan seperti yang Anda miliki sekarang. Anda dapat menggunakan IF seperti yang ditunjukkan oleh duskwuff . Tapi Case pernyataan lebih baik untuk mata. Seperti ini:

select id, 
    (
    CASE 
        WHEN qty_1 <= '23' THEN price
        WHEN '23' > qty_1 && qty_2 <= '23' THEN price_2
        WHEN '23' > qty_2 && qty_3 <= '23' THEN price_3
        WHEN '23' > qty_3 THEN price_4
        ELSE 1
    END) AS total
 from product;

Ini terlihat lebih bersih. Saya kira Anda tidak memerlukan SELECT inner bagian dalam pokoknya..



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. instal mysql dan mysqlnd di ubuntu 12.04

  2. Migrasi Laravel merujuk sendiri masalah kunci asing

  3. MySql - Perbarui tabel menggunakan pernyataan pilihan dari tabel yang sama

  4. Jalankan kueri mentah pada Konektor Loopback MySQL

  5. Mengapa MySQL tidak menggunakan indeks untuk perbandingan yang lebih besar?