Megpróbáltam, de megint csak az adatok nélküli táblázatot adta be. :-( (Megpróbáltam a 8-as járattal is a lekérdezést, de arra is az üres táblázatot adta be. :-((( )
Az alábbi grafikont a hétköznapi indulási idők alapján készítettem: M1 a Vörösmarty térről, M2 a Déli pályaudvartól, M3 Újpest-központtól. Van benne néhány érdekes cikk-cakk, vagyis egyenletesebb is lehetne a követés, elsősorban a 2-esen a délutáni csúcs előtt:
A be nem nyilazott táblák okozzák. A Shapes-t kösd be a Trips-hez a shape_id mezővel, a Calendar_days-t pedig a Calendar-hoz a service_id mezővel. Ezt a két plusz táblát egyébként én eddig nem is nagyon használtam. A nyilak irányára figyelj: soha ne mutassanak egymásra, és több táblából soha ne menjen egy táblába nyíl.
OFF
Ezzel kapcsolatban találtam egy bug-ot az Access-ben: látszólag hiába mutatnak egy irányba a nyilak, ez csak akkor jó, ha mindegyik nyíl egységesen 2-es vagy 3-as típusú. Tehát pl. az A táblából B táblába kötött 2-es típusú nyíl ugyanúgy néz ki, mint a B-ből A-ba kötött 3-as típusú, de csak akkor fog működni a lekérdezés, ha az összes többi nyíl is 2-es (vagy adott esetben 3-as) típusú a lekérdezésben.
Igen, nálam gond nélkül megy mindenféle karakterre (Access 2003-on nyomulok), de nekem is ez az egyik tippem, hogy akár az ékezetes betű, akár még a szóköz is másmilyen kódszámú karakter lehet (utóbbi hibával Excel FKERES-nél találkoztam).
Nálad amúgy működik ez a fajta szűrés? Mert én az UTF-8 konverzióra gondolnék, az Ú betű az tipikusan rohadék szituációkat szokott okozni adatbázisoknál :))), bár Topiktárs ugye általánosságban járt eredménytelenül.
Akkor már elmesélem az OFF-ot, hogy Győrben hogy jártunk az MSSQL táblákkal és lekérdezéssel: A CITY buszra keresve a vonalak között megkaptuk, ha "C" volt a keresési érték, megkaptuk, ha "CI", és akkor is, ha "CITY", de "CIT"-re sosem, se LIKE-kal, se substring-gel, charindex-szel, egyszerűen sehogy. Aztán jött az üzenet az adatbázisos emberünktől, hogy magyar a lokalizáció és ez a nyomorult megkülönbözteti a t betűt a ty betűtől :))))
Akkor tanácstalan vagyok. Légy szíves írd meg, ha rájöttél valamire.
Esetleg még csinálj egy új lekérdezést, amibe csak a Stops táblát teszed be, és abból is csak a stop_name mezőt, és abban szűkíts bármelyik megállóra, hogy egyáltalán visszaadja-e a nevét a lekérdezés. (Az eddigiek alapján valószínűleg ezt sem fogja - akkor importáld be újra a Stops táblát, vagy legalább nézd meg, nincs-e valami spéci karakter a megállók neve után.)
Furcsa. És ha nem a megálló nevére szűkítesz, hanem mondjuk beteszed a stop_id mezőt (bármelyik táblából a kettő közül), és az alapján szűkítesz F01841-re?
Akkor se jön ki semmi, ha a szűkítés nélküli lekérdezésből vágólapra teszed az egyik megálló nevét, és utána azt idézőjelek közé bemásolod a lekérdezés feltételébe? Ha nem, akkor dobd be ide a képernyőt, hogy ránézhessünk.
Választó lekérdezésnél a táblák jól össze vannak kapcsolva.
Ha egy megállóra szeretnék szűkíteni, és oda megfelelően beírom a megálló nevét, akkor nem ír ki semmit, ha kiszedem ezt feltételt, akkor minden gond nélkül minden megállót kíir egy adott viszonylatra.
1. Próbáld meg, hogy egyesével kitörlöd a táblákat (kezdd ezzel az új block_id-forgalmi táblával), és bár persze eltűnnek az abból a táblából vett mezők, de egyszercsak megjelennek az adatok. Ekkor az utolsónak törölt kapcsolat a bűnös, valami miatt nem egyforma a mezők tartalma.
2. Nyilazd be a kapcsolatokat a stop_times táblából kiindulva. Ekkor kénytelen lesz az összes stop_times értéket megjeleníteni (ami a szűrőfeltételnek eleget tesz), legfeljebb a hibás kapcsolatok esetén üres mezők fognak megjelenni (pl. nem fogod látni a forgalmi számot).
3. Ha egyik sem segít, töröld ki a feltételeket, bár ezek jónak tűnnek.
Elakadtam. Elkezdtem a leírásod alapján csinálni de mikor a group by-t benyomtam akkor lefagyott az acces. Megoldható, hogy padorjan mintájára feltöltöd a forgalmival ellátott táblát? A lekérdezésekkel már el tudok szórakozni én is. :)
Először is szükséged lesz MS Access-re. Ha nem szeretnél a táblák importálásával vacakolni (ezt a kérdést jól kiveséztük lentebb), akkor élj a lehetőséggel, hogy padorjan topiktárs nagylelkűen közkinccsé tette az általa letöltött és Access-be importált adatbázist (ld. 54-es hsz).
Ebben az adatbázisban egy minta-lekérdezés-séma is van, amibe csak be kell tenni a szükséges mezőket (dupla kattintással a mezőnevekre). Minden olyan mezőt be kell tenni a lekérdezésbe amiket szeretnél megjeleníteni (pl. indulási idő), illetve amire szeretnél szűrni (pl. viszonylat).
A forgalmi számos lekérdezésem konkrétan így néz ki:
A "nyilas" (1:n) kapcsolatokat úgy tudod létrehozni, hogy a mezőnevek összekötése után duplán rákattintasz és 2-es típusra állítod. Mindig a nyíl irányába húzd a vonalat.
A mezők:
stop_name: a megálló neve
departure_time: indulási idő
forgalmi: most jut eszembe, hogy ehhez még magyarázatot kell fűzzek, mert az ehhez használt block-forgalmi tábla nincs benne az adatbázisban, saját magam állítottam elő a 17-es hsz-ban leírt módon.
route_short_name: viszonylatszám
wednesday: a nap neve, ide értelemszerűen a megfelelőt kell betenni és a feltételhez 1-est írni
trip_headsign: menetirány, a végállomás neve, illetve néhány viszonylatnál a "közbenső végállomás" (pl. a 47-esen a Móricz ilyen)
A lekérdezést ezután Excel-be másoltam és manuálisan rendeztem áttekinthetőbb táblázatba.