मेरी तालिका में मेरे पास "firstname" और फ़ील्ड "lastname" फ़ील्ड है। मैं उन सभी रिकॉर्ड्स का चयन करना चाहता हूं जहां पहला नाम + स्पेस + अंतिम नाम एक निश्चित मान है।SELECT स्टेटमेंट में दो फ़ील्ड का संयोजन
मैं इस की कोशिश की है:
$sql = "SELECT * FROM sam_users WHERE (user_firstname + ' ' + user_lastname LIKE ?)";
लेकिन यह काम नहीं कर रहा। Google के साथ मुझे || का उपयोग करने के बारे में कुछ मिला है, लेकिन मुझे वास्तव में समझ में नहीं आता कि मुझे उस ऑपरेटर का उपयोग कैसे करना चाहिए। ध्यान दें कि मैं एक या ऑपरेटर (क्या || कई भाषाओं में है) का उपयोग नहीं करना चाहता, लेकिन 2 फ़ील्ड (उनके बीच एक जगह के साथ) को संयोजित करने और उस पर एक LIKE का उपयोग करने के लिए कुछ।
धन्यवाद! (जो शून्य मान पर ध्यान नहीं देता)
SELECT * FROM sam_users
WHERE CONCAT(user_firstname, ' ', user_lastname) LIKE ?
या CONCAT_WS
:
आरडीबीएमएस क्या है? और आप '=' के बजाय 'LIKE' का उपयोग क्यों कर रहे हैं? –
MySQL, लेकिन मैं पीडीओ लाइब्रेरी (PHP) का उपयोग कर रहा हूं, इसलिए यह पोर्टेबल होना चाहिए। मैं पसंद कर रहा हूं क्योंकि मैं एक "खोज" क्षेत्र बना रहा हूं, इसलिए परिणाम उन सभी उपयोगकर्ताओं की एक सूची होनी चाहिए जिनके नाम दर्ज स्ट्रिंग की तरह हैं। – Bv202
@ बीवी 202 - सुनिश्चित नहीं है कि "सबसे पोर्टेबल" स्ट्रिंग concatenation विधि है या नहीं। अगर किसी भी उत्तर में इसका कवर होता है तो मुझे दिलचस्पी होगी। –