MySQL CONCAT () AS नाम?

मैं केवल एक छोटे डेटाबेस के लिए थोड़ा खोज इंजन बनाने की कोशिश कर रहा हूं। "CONCAT() AS नाम" काम नहीं करता है तो मैं कंसैट() जैसे xxx के रूप में कुछ कैसे उपयोग कर सकता हूं?

Created an example here http://sqlfiddle.com/#!2/21b5c/5

मैं क्या करने की कोशिश करता हूं

SELECT 
    CONCAT(names,' ',office) AS bigDataField
    FROM item_table 
WHERE bigDataField LIKE "%jessy%";

कॉन्सट फील्ड का उपयोग करने का सबसे अच्छा तरीका क्या है?

2
जोड़ा संपादित
विचारों: 1

3 उत्तर

आप अपने WHERE खंड में CONCAT() फ़ंक्शन को डुप्लिकेट करने के बजाय HAVING खंड का उपयोग कर सकते हैं।

उदाहरण के लिए:

SELECT CONCAT(`names`,' ',`office`) `bigDataField`
       FROM `item_table` 
HAVING `bigDataField` LIKE "%jessy%";
4
जोड़ा
@gieffe क्या हैविंग या कन्कैट का उपयोग करना बेहतर है ....?
जोड़ा लेखक caramba, स्रोत
@ बेनएम क्या आप सहमत हैं? और धन्यवाद gieffe!
जोड़ा लेखक caramba, स्रोत
चयन को एजेक्स द्वारा कीप + कुछ एमएस पर बुलाया जाता है। मैं गतिशील खोज करने की कोशिश करता हूं
जोड़ा लेखक caramba, स्रोत
मैं समझता हूँ कि...
जोड़ा लेखक BenM, स्रोत
यह आपके डेटा सेट पर निर्भर करता है, और आप कितने परिणाम की उम्मीद करते हैं। मैं कभी भी एक ही समारोह को दो बार कॉल करने का बड़ा प्रशंसक नहीं रहा हूं। आप चुनिंदा और जहां खंडों में एक हावरसिन फॉर्मूला नहीं चलाएंगे।
जोड़ा लेखक BenM, स्रोत
मैं तब <�कोड> हैविंग की अनुशंसा करता हूं।
जोड़ा लेखक BenM, स्रोत
ध्यान दें: क्वेरी के बाद हैविंग निष्पादित किया जाएगा। MySQL पहले क्वेरी निष्पादित करता है और परिणाम सेट पर क्लॉज लागू करने से पहले।
जोड़ा लेखक gieffe, स्रोत
मेरी राय में "जहां concat" बेहतर है।
जोड़ा लेखक gieffe, स्रोत

आप जहां खंडों में उपनाम का उपयोग नहीं कर सकते हैं।

SELECT CONCAT(names,' ',office) AS bigDataField
FROM item_table 
WHERE CONCAT(names,' ',office) LIKE "%jessy%";
2
जोड़ा
आपके resposnes के लिए बहुत बहुत धन्यवाद! क्या बेनम लिखने की तरह हैविंग का उपयोग करना बेहतर है? अगर मैं यहां sqlfiddle.com/#!2/21b5c/10 एक बार देखता हूं उदाहरण तेज है और एक बार बेंम्स उदाहरण है
जोड़ा लेखक caramba, स्रोत
होने वाले खंड समूहबद्ध डेटा के लिए हैं। पठनीयता के लिए मैं उनका उपयोग करने के लिए अलग होगा।
जोड़ा लेखक juergen d, स्रोत

दुर्भाग्यवश, आप एक WHERE खंड में गणना किए गए कॉलम के लिए उपनाम का उपयोग नहीं कर सकते हैं - आपको इसके बजाय CONCAT (नाम, '', कार्यालय) का उपयोग करने की आवश्यकता होगी < कोड> कहां </कोड> खंड।

This post has more detail: Can you use an alias in the WHERE clause in mysql?

1
जोड़ा