2012-04-27 12 views
70

कंसेटनेट करें एक MySQL तालिका में दो कॉलम हैं: SUBJECT और YEARMySQL, दो कॉलम

मैं एक अल्फान्यूमेरिक अद्वितीय संख्या उत्पन्न करना चाहता हूं जिसमें विषय और वर्ष से संबंधित डेटा शामिल है।

मैं यह कैसे कर सकता हूं? क्या + जैसे साधारण ऑपरेटर का उपयोग करना संभव है?

उत्तर

151

आप इस तरह CONCAT फ़ंक्शन का उपयोग कर सकते हैं:

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

अद्यतन:

कि परिणाम प्राप्त करने के लिए आप इस कोशिश कर सकते हैं:

SET @rn := 0; 

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

आपका पहला उत्तर, 'चयन करें (विषय,' ', वर्ष)' वास्तव में मेरी मदद की। +1 – FastTrack

+1

परिणाम शून्य है जब फ़ील्ड पर किसी भी पंक्ति को खाली करने के लिए खाली है। उस समस्या का समाधान क्या है? – TSR

-8

पहले की तरह तालिका newcol_name में एक स्तंभ बनाने यह - इसे आजमाएं - update table_name Set 'newcol_name' = CONCACT(SUBJECT, ' ', YEAR) ;

+1

नहीं! यदि किसी भी जहर (जैसे इस क्षेत्र में खोजना) के लिए आप एक नया कॉलम चाहते हैं जिसे आपको एक दृश्य का उपयोग करने की आवश्यकता है: https://dev.mysql.com/doc/refman/5.7/en/create-view।एचटीएमएल – rebe100x

3

PHP में, हमारे पास टेबल कॉलम को संयोजित करने के लिए दो विकल्प हैं।

पहला विकल्प क्वेरी का उपयोग कर

क्वेरी में, concat कीवर्ड दो कॉलम

श्रेणीबद्ध करने के लिए इस्तेमाल
SELECT CONCAT(`SUBJECT`,'_', `YEAR`) AS subject_year FROM `table_name`; 

दूसरा ऑप्शन प्रतीक (।)

का उपयोग कर डेटा लाने के बाद डेटाबेस तालिका से, वैरिएबल को वैल्यू असाइन करें, फिर (।) का उपयोग करें। प्रतीक और मूल्यों

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

श्रेणीबद्ध अंडरस्कोर (_), हम रिक्त स्थान, अल्पविराम, पत्र, numbers..etc

2

आप() इस के लिए concat में बनाया php का उपयोग कर सकते का उपयोग करेगा करने के बजाय।

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

परिवर्तन आपके आवश्यकता के रूप में नाम दाखिल

तो परिणाम

enter image description here

है और अगर आप एक ही concat करना चाहते हैं अन्य क्षेत्र है जो एक ही तो

SELECT filed1 as category,filed2 as item, GROUP_CONCAT(CAST(filed2 as CHAR)) as item_name FROM `table` group by filed1 
का उपयोग कर दायर

तो यह आउटपुट 0 है

0
$crud->set_relation('id','students','{first_name} {last_name}'); 
$crud->display_as('student_id','Students Name'); 
+0

हालांकि यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन यहां उत्तर के आवश्यक हिस्सों को शामिल करना बेहतर है और संदर्भ के लिए लिंक प्रदान करना बेहतर है। लिंक किए गए पृष्ठ में परिवर्तन होने पर लिंक-केवल उत्तर अमान्य हो सकते हैं। - [समीक्षा से] (/ समीक्षा/कम गुणवत्ता वाले पदों/18796600) –

संबंधित मुद्दे