Seperti judulnya, saya ingin memperbarui kolom baris lain secara otomatis setelah pembaruan pada kolom tertentu.

Saya punya meja ini

id username direct_referral indirect_referral total_referral  referrer_id  paid
---------------------------------------------------------------------------------
1    aj         100               56              156          1           1
2    john       100               40              140          1           1
3    michael    100               0               100          2           1

Sekarang di tabel ini refferer_id = id pengarah. Misalnya aj telah merujuk 'john' sehingga dia mendapatkan 40% dari total_referral dari john yaitu (140*40/100 = 56). john telah merujuk michael sehingga indirect_referral-nya akan menjadi 40% dari michael yaitu (100*40/100 = 40).

Sekarang saya ingin secara otomatis meningkatkan indirect_referral perujuk sebesar 40% dari total_referral rujukan setiap kali pengguna baru bergabung melalui id rujukannya dan dibayar = 1.

Tolong beritahu saya bagaimana saya bisa melakukan proses ini secara otomatis dan terima kasih sebelumnya.

0
AJITMISHRAY 17 April 2020, 15:58

1 menjawab

Jawaban Terbaik

Masalah Anda rumit. Tapi mungkin bisa dipecahkan dengan pernyataan SQL rekursif, juga disebut CTE (common table ekspresi). Di sana Anda memiliki satu kueri awal sebagai anggota jangkar (baris yang ingin Anda sisipkan) dan kueri rekursif yang memanggil dirinya sendiri berulang kali.

Lihat tautan itu untuk penjelasan yang lebih dalam: https://www.mysqltutorial.org/mysql- rekursif-cte/

Cara lain untuk memecahkan masalah Anda adalah dengan membuat banyak kueri SQL, yang Anda kelola dengan kode PHP Anda.

0
armin.miedl 18 April 2020, 10:02