ฉันมีปัญหานี้ฉันคิดว่าคุณอาจช่วยฉันได้
ป.ล. ฉันไม่แน่ใจว่าจะเรียกสิ่งนี้อย่างไรดังนั้นหากใครพบชื่อที่เหมาะสมกว่านี้โปรดแก้ไข
พื้นหลัง
- ฉันกำลังสร้างแอปพลิเคชันนี้สำหรับการค้นหาเส้นทางขนส่งรถบัส
- สายรถเมล์เป็นตัวเลข 3 หลักและไม่ซ้ำใครและจะไม่เปลี่ยนแปลง
- ความต้องการคือสามารถค้นหาบรรทัดจาก stop A ถึง stop B
- ส่วนต่อประสานกับผู้ใช้ประสบความสำเร็จในการบอกเป็นนัยให้ผู้ใช้ใช้ชื่อหยุดที่ถูกต้องเท่านั้น
- ความต้องการจะสามารถแสดงได้หากเส้นทางมีเส้นตรงและหากไม่มีให้แสดงการรวมกันแบบ 2 บรรทัดและ 3 บรรทัด
ตัวอย่าง:
ฉันต้องได้รับจากจุด A ถึงจุด D โปรแกรมควรแสดง:
- หากมีโฆษณาสายตรง
- ถ้าไม่ให้แสดงทางเลือกคอมโบ 2 บรรทัดเช่น AC, CD
- หากไม่มีคอมโบสองบรรทัดให้ค้นหาคอมโบ 3 บรรทัด: AB, BC, CD
แน่นอนว่าแอพควรแสดงหมายเลขสายรถประจำทางรวมถึงเวลาที่จะเปลี่ยนรถโดยสาร
สิ่งที่ฉันมี:
ฐานข้อมูลของฉันมีโครงสร้างดังนี้ (ฐานข้อมูลจริงที่เรียบง่ายประกอบด้วยตำแหน่งและเวลาและอะไร):
+-----------+
| bus_stops |
+----+------+
| id | name |
+----+------+
+-------------------------------+
| lines_stops_relationship |
+-------------+---------+-------+
| bus_line | stop_id | order |
+-------------+---------+-------+
ไหนlines_stops_relationship
อธิบายความสัมพันธ์ที่หลายต่อหลายคนระหว่างสายรถประจำทางและหยุด
คำสั่งหมายถึงคำสั่งที่หยุดปรากฏในบรรทัดเดียว ไม่ใช่ทุกบรรทัดที่กลับไปกลับมาและคำสั่งซื้อมีความหมาย (จุด A ที่มีคำสั่ง 2 มาหลังจากจุด B พร้อมคำสั่งที่ 1)
ปัญหา
- เราพบว่าสายสามารถผ่านเส้นทางได้อย่างง่ายดายเพียงพอหรือไม่ เพียงค้นหาบรรทัดเดียวที่ผ่านจุดทั้งสองในลำดับที่ถูกต้อง
- ฉันจะค้นหาได้อย่างไรว่ามีคำสั่งผสม 2/3 บรรทัด ฉันกำลังคิดที่จะค้นหาบรรทัดที่ตรงกับการหยุดต้นทางและอีกอันสำหรับการหยุดปลายทางและดูว่าฉันจะได้รับการหยุดทั่วไประหว่างพวกเขาหรือไม่ซึ่งผู้ใช้สามารถเปลี่ยนรถโดยสารได้ ฉันจะจำที่หยุดได้อย่างไร
- คำสั่งผสม 3 บรรทัดนั้นยิ่งมีความซับซ้อนยิ่งขึ้นฉันหาบรรทัดของแหล่งที่มาและเส้นสำหรับปลายทางแล้วอะไรล่ะ ค้นหาบรรทัดที่มี 2 หยุดฉันเดา แต่อีกครั้งฉันจะจำหยุดได้อย่างไร
TL; DR
ฉันจะจำผลลัพธ์จากแบบสอบถามเพื่อให้สามารถใช้อีกครั้งได้อย่างไร ฉันหวังว่าจะบรรลุผลในแบบสอบถามเดียว (สำหรับแต่ละคำค้นหาเส้นทาง 1 บรรทัดแบบสอบถาม 2 และแบบสอบถามคอมโบ 3 บรรทัด)
หมายเหตุ:ฉันไม่รังเกียจหากมีคนแนะนำวิธีการที่แตกต่างอย่างสิ้นเชิงจากที่ฉันมีฉันเปิดรับวิธีการแก้ปัญหาใด ๆ
จะให้รางวัลความช่วยเหลือใด ๆ กับคุกกี้และอัปโหลด ขอบคุณล่วงหน้า!