GROUP_CONCAT() ফাংশন ব্যবহার করে একাধিক সারির ভ্যালু একটি স্ট্রিংয়ে জোড়া করা যায়। স্ট্রোড প্রসিডিউর দিয়ে এটি ডাইনামিকভাবে করা যায়।
উদাহরণ:
টেবিল তৈরি:
CREATE TABLE DemoTable (CountryName VARCHAR(100));
রেকর্ড যোগ করা:
INSERT INTO DemoTable VALUES('US'), ('AUS'), ('UK');
সব রেকর্ড দেখানো:
SELECT * FROM DemoTable;
আউটপুট:
+-------------+ | CountryName | +-------------+ | US | | AUS | | UK | +-------------+
স্ট্রোড প্রসিডিউর তৈরি (প্যাটার্ন ম্যাচ করে কনক্যাট):
DELIMITER //
CREATE PROCEDURE searchDemo(IN stringValue VARCHAR(255), OUT output TEXT)
BEGIN
SELECT GROUP_CONCAT(DISTINCT CountryName ORDER BY CountryName)
INTO output
FROM DemoTable
WHERE CountryName LIKE stringValue;
END //
DELIMITER ;
প্রসিডিউর কল করা:
CALL searchDemo('U%', @output);
SELECT @output;
ফলাফল:
+---------+ | @output | +---------+ | UK,US | +---------+
ব্যাখ্যা: GROUP_CONCAT(DISTINCT ...) ডুপ্লিকেট সরিয়ে আলফাবেটিক্যালি সাজায়। LIKE 'U%' দিয়ে U দিয়ে শুরু হওয়া দেশগুলো ফিল্টার করা হয়। আউটপুট প্যারামিটার (@output) দিয়ে ফলাফল পাওয়া যায়।