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

Permintaan MySQL untuk perbandingan harga

Saya sarankan Anda memiliki tabel produk "master", yang mencantumkan semua produk, terlepas dari apakah produk tersebut dijual di semua situs, atau hanya satu. Kemudian gabungkan dari itu ke masing-masing tabel harga situs web. Coba cocokkan pada nama produk. Dalam bentuknya yang paling sederhana, kueri akan terlihat seperti:

select
  p.*,
  t1.price as site1_price,
  t2.price as site2_price,
  t3.price as site3_price
from product p
left join website1 t1 on t1.name = p.name
left join website2 t2 on t2.name = p.name
left join website2 t3 on t3.name = p.name;

Anda mungkin harus mencoba bergabung dengan merek dan model, yaitu on t1.brand = p.brand and t1.model = p.model , atau beberapa kriteria lain jika nama tidak unik.

harga situs akan menjadi nol jika mereka tidak menjual produk.

Untuk mengisi produk dengan cepat, Anda dapat menjalankan ini:

insert into product (name, brand, model, ...)
select name, brand, model, ... from website1
union 
select name, brand, model, ... from website2
union 
select name, brand, model, ... from website3;

FYI, penggunaan UNION (bukan UNION ALL ) membuat output dari gabungan hanya menghasilkan baris unik




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mencocokkan catatan yang terkait dengan kumpulan catatan tertentu lainnya?

  2. Panggilan Ajax saya tidak berfungsi - Mencoba mengisi jstree melalui ajax php &mysql JSON

  3. cara menghapus catatan dari database dengan Ajax

  4. Bagaimana Anda bisa menunjukkan nol berturut-turut menggunakan dinamis tahun dan bulan dalam suatu interval?

  5. Datetime vs Tanggal dan Waktu Mysql