मैं Postgres टोपी में एक सरणी खोज इस रूप में कम से कम एक टैग से मेल खाता है:Postgres सरणी उपसर्ग मिलान
SELECT * FROM users WHERE tags && ['fun'];
| id | tags |
| 1 | [fun,day] |
| 2 | [fun,sun] |
यह उपसर्गों पर मैच के लिए संभव है? कुछ ऐसा:
SELECT * FROM users WHERE tags LIKE 'f%';
| id | tags |
| 1 | [fun,day] |
| 2 | [fun,sun] |
| 3 | [far] |
| 4 | [fin] |
खंड मौजूद है कि वह सही नहीं है - परिणाम देखें। पंक्तियों को जोड़ने के लिए बाहरी क्वेरी का संदर्भ गुम है। जोड़ने और 'id = u.id' जोड़ने का प्रयास करें (क्या "यू" बाहरी तालिका के लिए उपनाम है)। फिडल अपडेट किया गया: http://sqlfiddle.com/#!12/a6940/10/0 – bma
मुझे पोस्टग्रेएसक्यूएल (ज्यादातर एसक्यूएल सर्वर में) में ज्यादा समय नहीं है, लेकिन मुझे पूरा यकीन है कि आप इसके बारे में गलत हैं, और बीटीडब्ल्यू मेरी क्वेरी sqlfiddle में सही परिणाम देता है। मौजूदियां मौजूदा पंक्ति टैग पर पहले से ही काम कर रही हैं, इसलिए आपकी आईडी = u.id. इस समय SQLFIDDLE नीचे है, इसलिए मैं इसे बाद में देखूंगा। –
मूल रूप से मेरी क्वेरी को के रूप में फिर से लिखा जा सकता है, जहां से आप मौजूद हैं (चुनें * अननेस्ट (u.tags) से एआर के रूप में चुनें जहां 'f%' जैसे arr) ' –