আসলে, কখনও কখনও আমরা টেবিলে ডেটা-চালিত সম্পর্কগুলি এড়াতে পারি এবং আমাদের তাদের সাথে যোগ দিতে হবে। যোগদানের সম্ভাবনাগুলি পরিচালনা করতে SELECT তালিকায় CASE বিবৃতির সাহায্যে এটি করা যেতে পারে। এটি বোঝার জন্য, আমরা তিনটি ডাটা-চালিত টেবিলের উদাহরণ নিচ্ছি যার নাম 'স্টুডেন্ট_ডিটেইল' যার মধ্যে নিম্নলিখিত ডেটা রয়েছে -
mysql> Select * from student_detail; +----+---------+ | Id | Name | +----+---------+ | 1 | Harshit | | 2 | Rahul | | 3 | Aarav | +----+---------+ 3 rows in set (0.00 sec)
এখন, আমাদের কাছে 'ছাত্র_হর্ষিত', 'ছাত্র_রাহুল', 'ছাত্র_আরাভ' নামে তিনটি টেবিল রয়েছে যেখানে যথাক্রমে ছাত্র-ছাত্রী হর্ষিত, রাহুল এবং আরভের জন্য মন্তব্য রয়েছে। তাদের কাছে নিম্নলিখিত ডেটা রয়েছে -
mysql> Select * from Student_Harshit; +----+-----------+ | Id | Remarks | +----+-----------+ | 1 | Excellent | +----+-----------+ 1 row in set (0.00 sec) mysql> Select * from Student_Rahul; +----+---------+ | Id | Remarks | +----+---------+ | 2 | Average | +----+---------+ 1 row in set (0.00 sec) mysql> Select * from Student_Aarav; +----+-------------+ | Id | Remarks | +----+-------------+ | 3 | Intelligent | +----+-------------+ 1 row in set (0.00 sec)
এখন, নিম্নলিখিত ক্যোয়ারী এই ডেটা-চালিত টেবিলগুলি পরিচালনা করবে -
mysql> Select sd.id, sd.name, CASE name WHEN 'Harshit' THEN H1.Remarks WHEN 'Rahul' THEN R1.Remarks WHEN 'Aarav' THEN A1.Remarks ELSE 'Error' END as REMARKS FROM Student_detail AS sd LEFT JOIN Student_Harshit AS H1 ON sd.id = H1.id LEFT JOIN Student_Rahul AS R1 ON sd.id = R1.id LEFT JOIN Student_Aarav AS A1 on sd.id = A1.id; +----+---------+-------------+ | id | name | REMARKS | +----+---------+-------------+ | 1 | Harshit | Excellent | | 2 | Rahul | Average | | 3 | Aarav | Intelligent | +----+---------+-------------+ 3 rows in set (0.00 sec)