Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyświetlenie rekordów spełniających warunek, 2 miejscowości w tym samym transporcie
pionas
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 2
Dołączył: 25.03.2009
Skąd: Pionki

Ostrzeżenie: (0%)
-----


Cześć,

mam pewien problem.
Otóż zaprojektowałem sobie tak tablicę (wydawało mi się że tak najlepiej):
Cytat
BusWay:
ID
Name

City:
ID
Name

CityToBusWay
ID_BusWay
ID_City


jak zrobić zapytanie które wyświetli tylko te połączenia BusWay w których będą dwie przeze mnie podane miejscowości.
Np. Chcę jechać Radomia do Warszawy.
Zrobiłem sobie coś takiego:
  1. SELECT * FROM BusWay a, CityToBusWay b WHERE a.ID=b.ID_BusWay AND b.ID_City IN (SELECT ID FROM `city` WHERE name IN("Radom","Warszawa"))


Jednak to wyświetla wszystkie wpisy które zawierają w połączeniu jedno z tych miast, jak zrobić aby wyświetlało tylko te gdzie są podane oba miasta?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
#luq
post
Post #2





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Jakbyś zaprojektował bazę zgodnie z tym co napisałem to byś miał prosto

  1. SELECT
  2. s.stopNumber, c.name
  3. FROM
  4. stop AS s
  5. LEFT JOIN city AS c ON s.cityId = c.cityId
  6. WHERE
  7. s.routeId = {x}
  8. ORDER BY s.stopNumber ASC


Dostajesz wszystkie przystanki trasy o id = x, a więc pierwszy to Twoje A, ostatni D, a reszta to przystanki pośrednie.

PS. w podanej przeze mnie tabelce way powinno być jeszcze pole routeId

Ten post edytował #luq 25.09.2010, 14:51:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 06:49