মাইএসকিউএল, দুটি কলাম সংযুক্ত করুন


86

মাইএসকিউএল টেবিলে দুটি কলাম রয়েছে: SUBJECTএবং YEAR

আমি একটি বর্ণানুক্রমিক অনন্য নম্বর উত্পন্ন করতে চাই যা SUBJECT এবং YEAR এর সংমিশ্রিত ডেটা ধারণ করে।

কিভাবে আমি এটি করতে পারব? একটি সহজ অপারেটর ব্যবহার করা সম্ভব +?

উত্তর:


184

আপনি CONCATএই ফাংশনটি ব্যবহার করতে পারেন :

SELECT CONCAT(`SUBJECT`, ' ', `YEAR`) FROM `table`

হালনাগাদ:

ফলাফল পেতে আপনি এটি চেষ্টা করতে পারেন:

SET @rn := 0;

SELECT CONCAT(`SUBJECT`,'-',`YEAR`,'-',LPAD(@rn := @rn+1,3,'0'))
FROM `table`

4
আপনার প্রথম উত্তর, SELECT CONCACT(SUBJECT, ' ', YEAR)সত্যিই আমাকে সাহায্য করেছে। +1
ফাস্টট্র্যাক

4
ফলাফলটি শূন্য হয় যখন কোনও সারি মাঠের মধ্যে খালি থাকে at এই সমস্যার সমাধান কী?
টিএসআর

4
@ টিএসআর ভাল প্রশ্ন! আমি আপনার জন্য উত্তর খুঁজে পেয়েছি। যদি ক্ষেত্রগুলির কোনও একটি শূন্য হয়ে যায়, আপনাকে মাইএসকিউএল আইএফএনএলএল অপশন ব্যবহার করতে হবে। উপরে উপরে যেমন হবে: নির্বাচন করুন কনফ্যাট (IFNULL ( SUBJECT, '')), '-', IFNULL ( YEAR, ''), '-', এলপ্যাড (@ আরএন: = @ আরএন + 1,3, '0')) থেকেtable
লোগান

17

আপনি এর জন্য কনক্যাট () এ নির্মিত পিএইচপি ব্যবহার করতে পারেন।

SELECT CONCAT(`name`, ' ', `email`) as password_email FROM `table`;

আপনার প্রয়োজন হিসাবে দায়েরকৃত নাম পরিবর্তন করুন

তাহলে ফলাফল হয়

এখানে চিত্র বর্ণনা লিখুন

এবং আপনি যদি একই ক্ষেত্রটি ব্যবহার করতে চান তবে একই ক্ষেত্রটি ব্যবহার করে filed

SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 

তারপরে এটি আউটপুট এখানে চিত্র বর্ণনা লিখুন


4
ভাল লাগল শুধু আপনার তথ্যের জন্য, এখানে ব্যবহৃত কনক্যাটটি মাইএসকিউএল হ'ল ফাংশনে অন্তর্নির্মিত, কোনও পিএইচপি ফাংশন নয়।
ইউসুফ হাসান

6

পিএইচপি-তে, আমাদের কাছে টেবিল কলামগুলি সংযুক্ত করার দুটি বিকল্প রয়েছে।

ক্যোয়ারী ব্যবহার করে প্রথম বিকল্প

ক্যোয়ারিতে, কনক্যাট কীওয়ার্ডটি দুটি কলামকে একত্রিত করতে ব্যবহৃত হয়েছিল

SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`;

প্রতীক (।) ব্যবহার করে দ্বিতীয় বিকল্প

ডাটাবেস টেবিল থেকে ডেটা আনার পরে, ভেরিয়েবলের জন্য মানগুলি নির্ধারণ করুন, তারপরে (।) সিম্বল ব্যবহার করুন এবং মানগুলি একত্রিত করুন

$subject = $row['SUBJECT'];
$year = $row['YEAR'];
$subject_year = $subject . "_" . $year;

আন্ডারস্কোর (_) এর পরিবর্তে আমরা স্পেস, কমা, অক্ষর, সংখ্যা.. ইত্যাদি ব্যবহার করব


0

প্রশ্নে, CONCAT_WS()ফাংশন।

এই ফাংশনটি কেবল একাধিক স্ট্রিংয়ের মান যুক্ত করে না এবং এগুলিকে একটি একক স্ট্রিংয়ের মান করে তোলে। এটি আপনাকে পৃথককারী ("", ",", "-", "_", ইত্যাদি) সংজ্ঞায়িত করতে দেয়।

বাক্য গঠন -

CONCAT_WS( SEPERATOR, column1, column2, ... )

উদাহরণ

SELECT 
topic, 
CONCAT_WS( " ", subject, year ) AS subject_year 
FROM table

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.