Saya akan terangkan keadaan saya. MySQL 5.7
Saya mempunyai 2 jadual: Pendaftaran dan Mudah Alih. Kedua-dua jadual ini mempunyaiIDMovementpersamaan supaya saya boleh menyertainya
Soalan saya: Saya perlu mengumpulkan mengikut lajurRegistry(iaitu lajur varchar) dan saya perlu menyemak MAXIDMovement. Dalam baris ini, terdapat satu lagi lajur yang dipanggilIDCausal. Langkau jika MAXIDMovementpadaIDCasualberbeza daripada 21. Jika tidak, kembalikan baris itu.
Saya akan berikan contoh perkara yang saya lakukan:
SELECT m.IDMovement, mo.IDCausal, m.Registry FROM registry m JOIN movement mo ON m.IDMovement = mo.IDMovement WHERE m.Registry = "2SST0160"
P.S. DI MANA hanya contoh, saya perlu menanyakan setiap pendaftaran.
Nilai pulangan pendaftaran 2SST0160 ialah:
IDMovement IDCausal Registry 5550 21 2SST0160 9817 5 2SST0160
Dalam contoh, MAX IDMovement ialah 9817, tetapi IDCausal ialah 5, jadi hasil jangkaan pertanyaan dalam contoh ini ialah TIADA APA-APA. Jika IDCausal ialah 21, hasil yang dijangkakan hanyalah baris 21. Untuk setiap pendaftaran, saya menjangkakan hasilnya adalah 0 atau 1 baris setiap pendaftaran.
Semoga saya menjelaskannya, terima kasih atas bantuan anda!