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

Solusi untuk menemukan duplikat catatan yang melibatkan IMS dan hubungan orang tua-anak

SQL berikut tampaknya berhasil

big_query = "
  SELECT EXISTS (
    SELECT 1
    FROM buyables b1
      JOIN buyables b2
        ON b1.shop_week_id = b2.shop_week_id
        AND b1.location_id = b2.location_id
    WHERE
      b1.parent_id != %1$d
      AND b2.parent_id = %1$d
      AND b1.type = 'Item'
      AND b2.type = 'Item'
    GROUP BY b1.parent_id
    HAVING COUNT(*) = ( SELECT COUNT(*) FROM buyables WHERE parent_id = %1$d AND type = 'Item' )
  )
"

Dengan ActiveRecord, Anda bisa mendapatkan hasil ini menggunakan select_value :

class Basket < Buyable
  def has_duplicate
    !!connection.select_value( big_query % id )
  end
end

Namun saya tidak begitu yakin dengan performanya



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jalankan beberapa kueri penghapusan sql di mysql untuk php

  2. virtualenv yang dapat menemukan pustaka yang dipindahkan (seperti lib mysqlclient untuk MySQLdb)

  3. Acara Mysql Tidak Bekerja

  4. bagaimana cara menjalankan skrip python dari kueri mysql?

  5. Posting Hasil MySQL Menggunakan AJAX melalui jQuery