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

MySQL Bergabung Dengan Pernyataan Kasus

Jangan kasuskan seluruh gabungan bagian dalam, lakukan kasus hanya pada klausa 'on' dalam gabungan. Ini akan berfungsi (kecuali saya memiliki kesalahan ketik):

  SELECT 
    conversation.c_id,
    conversation.user_one,
    conversation.user_two,
    users.name,
    users.lastName
  FROM `conversation` 
  INNER JOIN `users`
  on
  users.id =
  CASE
    WHEN conversation.user_one = 1
    THEN conversation.two 
    WHEN conversation.user_two = 1
    THEN conversation.user_one   
 END
 WHERE `user_one` = 1 OR `user_two` = 1

Anda juga dapat mencapai pengaruh serupa dengan menggabungkan kiri pada masing-masing kondisi ini dan kemudian menggunakan pernyataan kasus dalam pernyataan pilih Anda untuk menentukan dari dua tabel mana catatan akan ditampilkan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sintaks SQL 'LIKE'

  2. Bagaimana cara menemukan hasil paling umum di kolom di tabel MySQL saya?

  3. MySQL Pilih data bulan lalu dengan current_timestamp

  4. Cara mengekstrak tanggal dan waktu dari String Timestamp di java

  5. Cara menjalankan atau memuat file .po/.mo untuk pelokalan di php