मेरे पास यह समस्या है मुझे लगता है कि आप मेरी मदद कर सकते हैं।
PS मुझे यकीन नहीं है कि यह कैसे कॉल किया जा सकता है, इसलिए यदि किसी को अधिक उपयुक्त शीर्षक मिलता है, तो कृपया संपादित करें।
पृष्ठभूमि
- मैं बस पारगमन लाइनों की खोज के लिए यह आवेदन कर रहा हूं।
- बस लाइनें एक 3 अंकों की संख्या हैं, और अद्वितीय है और यह कभी नहीं बदलेगी।
- आवश्यकता स्टॉप ए से बी को रोकने के लिए लाइनों की खोज करने में सक्षम होना है।
- उपयोगकर्ता इंटरफ़ेस पहले से ही मान्य स्टॉप नामों का उपयोग करने के लिए उपयोगकर्ता को संकेत देने में पहले से ही सफल है।
- आवश्यकता यह प्रदर्शित करने में सक्षम होने के लिए है कि क्या किसी मार्ग की सीधी रेखा है, और यदि नहीं, तो 2-पंक्ति और यहां तक कि 3-पंक्ति संयोजन प्रदर्शित करें।
उदाहरण:
मुझे बिंदु A से बिंदु D पर जाने की आवश्यकता है। कार्यक्रम को दिखाना चाहिए:
- यदि एक सीधी रेखा ई.पू.
- यदि नहीं, तो प्रदर्शन विकल्प, 2 लाइन कॉम्बो, जैसे कि एसी, सीडी।
- यदि कोई 2-लाइन वाला कम्बॉस नहीं है, तो 3-लाइन वाले कॉम्बोस की खोज करें: AB, BC, CD।
बेशक, ऐप को बस लाइन नंबर प्रदर्शित करना चाहिए, साथ ही बसों को कब स्विच करना चाहिए।
जो मेरे पास है:
मेरा डेटाबेस निम्नानुसार संरचित है (सरलीकृत, वास्तविक डेटाबेस में स्थान और समय और क्या शामिल हैं):
+-----------+
| bus_stops |
+----+------+
| id | name |
+----+------+
+-------------------------------+
| lines_stops_relationship |
+-------------+---------+-------+
| bus_line | stop_id | order |
+-------------+---------+-------+
जहां lines_stops_relationship
बस लाइनों और स्टॉप के बीच कई-कई संबंधों का वर्णन है।
ऑर्डर, उस ऑर्डर को दर्शाता है जिसमें स्टॉप एक लाइन में दिखाई देता है। सभी रेखाएँ आगे-पीछे नहीं होतीं, और ऑर्डर का अर्थ होता है (ऑर्डर 2 के साथ बिंदु A, ऑर्डर 1 के साथ बिंदु B के बाद आता है)।
समस्या
- हमें पता चलता है कि क्या कोई मार्ग आसानी से पर्याप्त मार्ग से गुजर सकता है। बस एक ही लाइन की खोज करें जो सही क्रम में दोनों बिंदुओं से गुजरती है।
- यदि 2/3 लाइन कॉम्बो है तो मुझे कैसे पता चलेगा? मैं एक लाइन की खोज करने के लिए सोच रहा था जो स्रोत स्टॉप से मेल खाती है, और गंतव्य स्टॉप के लिए एक है, और देखें कि क्या मैं उनके बीच एक सामान्य स्टॉप प्राप्त कर सकता हूं, जहां उपयोगकर्ता बसों को स्विच कर सकता है। मुझे कैसे याद है कि रोक?
- 3 लाइन कॉम्बो और भी पेचीदा है, मुझे स्रोत के लिए एक लाइन और गंतव्य के लिए एक लाइन मिलती है, और फिर क्या? एक पंक्ति के लिए खोजें जिसमें 2 स्टॉप हैं मुझे लगता है, लेकिन फिर, मुझे स्टॉप्स कैसे याद हैं?
tl; डॉ
मुझे फिर से उपयोग करने में सक्षम होने के लिए क्वेरी से परिणाम कैसे याद होंगे? मैं इसे एक सिंगल क्वेरी (प्रत्येक के लिए, 1-लाइन मार्गों के लिए एक क्वेरी, 2 के लिए एक क्वेरी और 3-लाइन कॉम्बोस के लिए एक क्वेरी) प्राप्त करने की उम्मीद कर रहा हूं।
नोट: मुझे कोई आपत्ति नहीं है कि अगर कोई मेरे पास है, तो मैं किसी भी समाधान के लिए खुला हूं।
किसी भी सहायता को एक कुकी और एक उत्थान के साथ पुरस्कृत करेगा। अग्रिम में धन्यवाद!