mysql & php - query for record with all or fewer values, but not more -


(हल, देखें SEND)

मुझे PHP पर संकेत की आवश्यकता है या निम्न के लिए MySQL कोड संरचना:

मान लें कि आपके पास एक्स अनूठे बॉक्स हैं, और वाई प्रकार के फल हैं प्रत्येक बॉक्स में प्रत्येक प्रकार का एक फल हो सकता है कुछ बक्से में केवल 2 प्रकार हो सकते हैं, कुछ में प्रत्येक प्रकार का हो सकता है सभी बक्से में कम से कम एक प्रकार का है।

क्वेरी के लिए, उपयोगकर्ता के पास चेकबॉक्स की एक सूची है, प्रत्येक फल के लिए एक (मैं एक ही क्वेरी सरणी में इन सभी फ़ीड को ग्रहण करता हूं?)

मेरी समस्या यहां शुरू होती है:

यदि कोई उपयोगकर्ता जांचता है

सेब, संतरे, और अंगूर <

Box01 (सेब, नारंगी)
Box02 (अंगूर)
Box03 (सेब, नारंगी, अंगूर)


लेकिन नहीं:

बॉक्स 04 (सेब, नारंगी, अंगूर, नाशपाती, केले)

मैं रिकॉर्ड्स में रिटर्न को कैसे सीमित कर सकता हूं $ फल [] या उससे कम में दिए गए मान, लेकिन कोई अन्य मूल्य नहीं, भले ही अनुरोधित मान मौजूद हों? इसके अलावा, क्या इस प्रकार की क्वेरी में एक विशेष नाम है जिसका उपयोग मैं भविष्य के संदर्भ के लिए कर सकता हूं?

यह मेरे लिए एक असली कठिन है, और मैं आपके समय की सराहना करता हूं।

(पीएस - आपको आउटपुट या उस जैसी कुछ भी स्वरूपण के बारे में चिंता करने की आवश्यकता नहीं है, जो कि सिर्फ अवधारणा को स्पष्ट करने के लिए है। मुझे क्यूरी कोड में सख्ती से दिलचस्पी है।)

संपादित करें - दो ने पूछा है, विशिष्ट डीबेस विवरण में नहीं जाने के लिए क्षमा करें। मेरे पास 3 टेबल हैं: एक प्रत्येक बॉक्स का वर्णन करता है, एक प्रत्येक फल का वर्णन करता है, और 2 कॉलम के साथ कई-से-कई टेबल - बॉक्सिड्स & amp; fruitids।

मेरा समाधान

नीचे दिए गए Anax के कोड ने मुझे साथ में मदद की, मुझे विश्वास है कि आप दोनों ने किसी भी तरह से ग्रहण किया है।

यहां मैं क्या कर रहा हूं:

तालिका "बॉक्स" में कॉलम "बॉक्सिड" (प्राथमिक कुंजी) है; "बॉक्स विवरण" तालिका "फल" के पास स्तंभ "फलदायी" (प्राथमिक कुंजी) है; "फल विवरण" तालिका "बॉक्स_हास" में कॉलम "बॉक्सिड" है; "फल"

  का चयन बॉक्सिड बॉक्स से बॉक्स में नहीं है बॉक्स ऑफिस में (चयन करें बॉक्सिड से बॉक्स बॉक्स जहां फ़ॉल्डिड नहीं (F01 ',' F02 '))  

कोड को पीछे से सामने देखकर, सबसे सख्त SELECT उन सभी बक्से को पाता है जो हमारे पास चाहते हैं, उन परेशानी वाले बक्से को छोड़कर, जो कि हम चाहते हैं और दूसरों के अलावा फल हैं।

बाहरी चयन तब उपयोग करता है

मदद के लिए धन्यवाद, हर कोई!

आपको तीन तालिकाओं की आवश्यकता है: एक को बास्केट पकड़ने के लिए, एक फल रखने के लिए और एक तीसरा जो फसल के साथ बास्केट में जुड़ता है ( कई-से-कई)।

यह देखते हुए, आपको निम्न के रूप में एक क्वेरी चलाकर वांछित परिणाम प्राप्त होते हैं:

  SELECT बास्केट। * से बास्केट, फल, Baskets_and_fruits जहां बास्केट.आईडी = baskets_and_fruits.basketID और Fruit.id = baskets_and_fruits.fruitID और बास्केट.इतना नहीं (बास्केट, फलों, बास्केट और उदर से चुनें बास्केट.आइट्स) जहां बास्केट.आईडी = बास्केट्स_औंड_फुइट्स.बाकेटआईडी और फलों.आईडी = बास्केट्स_औंड_फ्रुइट्स.एफआरटीआईडीआईडी ​​और फलों का नाम। ('सेब ',' संतरे ',' अंगूर '))  

Comments

Popular posts from this blog

MySql variables and php -

url rewriting - How to implement the returnurl like SO in PHP? -

Which Python client library should I use for CouchdB? -