MySQL, दो कॉलम को मिलाएं


85

एक MySQL टेबल में दो कॉलम हैं: SUBJECTऔर YEAR

मैं एक अल्फ़ान्यूमेरिक यूनिक नंबर जेनरेट करना चाहता हूं, जो SUBJECT और YEAR से सुगम डेटा रखता है।

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

जवाबों:


183

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

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

अपडेट करें:

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

SET @rn := 0;

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

1
आपके पहले जवाब ने, SELECT CONCACT(SUBJECT, ' ', YEAR)वास्तव में मेरी मदद की। +1
फास्टट्रैक

4
नतीजा अशक्त होता है जब खेतों पर किसी भी पंक्ति को समतल करने के लिए खाली होता है। उस समस्या का हल क्या है?
टीएसआर

2
@TSR अच्छा सवाल! मुझे आपके लिए जवाब मिल गया। यदि फ़ील्ड में से कोई एक शून्य है, तो आपको MySQL IFNULL op का उपयोग करने की आवश्यकता होगी। तो ऊपर जैसा होगा: SELECT CONCAT (IFNULL ( SUBJECT, ''), '-', IFNULL ( YEAR, ''), '-', LPAD (@rn: = @ rn + 1,3, '0')) FROMtable
लोगन

17

आप इसके लिए CONCAT () में निर्मित php का उपयोग कर सकते हैं।

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

अपनी आवश्यकता के रूप में दर्ज नाम बदलें

तो परिणाम है

यहाँ छवि विवरण दर्ज करें

और यदि आप अन्य क्षेत्र का उपयोग करके एक ही दायर करना चाहते हैं, जो तब वही है

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

फिर यह आउटपुट है यहाँ छवि विवरण दर्ज करें


1
अच्छा लगा। आपकी जानकारी के लिए, यहां इस्तेमाल किया गया CONCAT, MySQL फ़ंक्शन में बनाया गया है, न कि php फ़ंक्शन के लिए।
यूसुफ हसन

6

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

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

क्वेरी में, CONCAT कीवर्ड का उपयोग दो कॉलमों को जोड़ने के लिए किया जाता है

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

प्रतीक का उपयोग कर दूसरा विकल्प ()

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

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

अंडरस्कोर (_) के बजाय, हम रिक्त स्थान, अल्पविराम, अक्षर, संख्या..etc का उपयोग करेंगे


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.