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

bagaimana cara membandingkan dua baris dan menyimpan kesamaan dari dua baris di kolom lain?

Saya telah melakukan sesuatu yang mirip dengan memperlakukan daftar ID yang dipisahkan koma untuk meniru topeng bit. Triknya adalah melakukan join menggunakan like '%,id,% (dimana id adalah kunci dalam tabel yang diindeks oleh id). Untuk kasus Anda, saya menggabungkan table_1 ke tabel bilangan bulat berurutan dan hasilnya menyertakan baris untuk setiap id di kolom product_id Anda.

Saya melakukan ini sekali untuk setiap id yang Anda minta dan bergabung dengan tabel turunan yang dihasilkan untuk menemukan yang umum.

Ini pertanyaannya:

SELECT p1.id, p1.name name1,p2.name name2, GROUP_CONCAT(p1.N) similarities
FROM (
SELECT *
 FROM table_1 t1
JOIN sequence8 s8 on CONCAT(',',t1.product_ids,',') LIKE CONCAT('%,',s8.N,',%') 

WHERE t1.id =1
) p1
JOIN 
(
SELECT *
 FROM table_1 t1
JOIN sequence8 s8 ON CONCAT(',',t1.product_ids,',') LIKE CONCAT('%,',s8.N,',%') 

WHERE t1.id =4
) p2 ON p2.n = p1.n
GROUP BY p1.id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan garis lintang/bujur terdekat dengan kueri SQL

  2. Memanggil Prosedur Tersimpan dalam Prosedur Tersimpan di MySQL

  3. Mengekspor database melalui kode java saya

  4. Nomor gratis pertama MySQL di antara nilai yang ada

  5. MySQL group_concat_max_len dalam kueri