netmare chyba nie za bardzo.
Chodzi o to że w formularzu podaję skąd dokąd i przez co (niekoniecznie) tworzę połączenie i potem generuje mi się lista wszystkich możliwych połączeń i tam ustalam datę, godzinę i cenę i potem to zapisuję w tablicy CityToBusWay.
Tak to wygląda:

Problem tkwi w tym że nie wiem czy wyświetlać wszystkie możliwe kombinacje (Połączenie A-D, A-B, A-C, B-C, B-D, C-D) czy po prostu napisać że jest to połączenie z Punktu A do Punktu D przez Punkty B i C
Osobiście bym wolał to drugie rozwiązanie tylko nie wiem jak zaprojektować bazę aby coś takiego otrzymać (projekt bazuje na mysql+java)
Mógłbym dodać do CityToBusWay dodatkowe pole (step) w którym bym zapisywał który to krok połączenia i całość zrobić na dwóch zapytaniach:
1. pobranie wszystkich połączeń (SELECT * FROM BusWay)
2. pobranie miejscowości pośrednich (SELECT b.Name FROM CityToBusWay a, City b WHERE a.ID_BusWay={x} AND a.step>1 and a.ID_CityStart=b.ID GROUP BY a.ID_CityStart ORDER BY a.ID ASC)
No chyba że ktoś ma lepszy pomysł?
[EDIT]Zrobiłem to w jednym zapytaniu:
SELECT c.*, GROUP_CONCAT(DISTINCT b.Name ORDER BY a.ID separator ', ') FROM CityToBusWay a, City b, BusWay c WHERE c.id=a.ID_BusWay AND a.step>1 and a.ID_CityStart=b.ID GROUP BY c.Name ORDER BY a.ID ASC)
Jednak z moim ostatnim zapytaniem jest problem:
SELECT c.*, GROUP_CONCAT(DISTINCT b.Name ORDER BY a.ID separator ', ') FROM CityToBusWay a, City b, BusWay c WHERE c.id=a.ID_BusWay AND [b]a.step>1[/b] AND a.ID_CityStart=b.ID GROUP BY c.Name ORDER BY a.ID ASC)
Nie wyświetla połączeń bez miejscowości pośrednich. Jak usunę a.step>1 to wyświetla wszystkie z tymże na początku jest miejscowość z której wyjeżdżamy, da się to obejść substringiem ale czy jest możliwość poprawienie zapytania by uzyskać taki efekt?