![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pewien problem... gdyż nie wiem jak mam połączyć zapytania SQL w jedno (obecnie baza mi się strasznie krzaczy z powodu bardzo wielu zapytań) myślałem o JOINie, ale nie mam pomysłu jak go użyć, a jak już jest, to niestety nie idzie... A więc tak. Mam dwie tabele. - wyniki MeczID | SezonID | LigaID | MeczData | GospodarzID | GoscID | BramkiGospodarz | BramkiGosc - bramki ID | MeczID | LigaID | SezonID | Pilkarz | DruzynaID | Minuta Teraz robiłem to tak : Pobierałem wyniki z jakiegoś zakresu dat w danej lidze, później jak wyświetlałem wierszami wyniki, to robiłem zapytanie WHERE MeczID = '$mecz' AND DruzynaID = '$data[GospodarzID]' i wyświetlałem strzelców goli gospodarzy. To samo robiłem dla gosci. Czyli do jednego meczu robiłem dodatkowo 2 zapytania... :/ A jak meczów było np na stronie 10, to robiłem 20 zapytań + zapytanie o wyniki. Dlatego mam pytanie o pomoc... jak to zapytanie skonstruować i czy jest taka możliwość, żeby zrobić to w jednym zapytaniu i dopiero jakoś to w skrypcie poukładać ? Z góry dziękuję za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Rafiki23 8.09.2008, 22:53:02 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 120 Pomógł: 10 Dołączył: 16.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
trochę mało przejrzyście napisałeś, ale może najpierw zbierz jakie potrzebujesz ID meczów i gospodarzy (jakiś array w php) a potem osobne zapytanie które pobierze te rekordy naraz?
Ten post edytował Exek 8.09.2008, 22:55:04 |
|
|
![]()
Post
#3
|
|
Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Niewiele ma to wspólnego z PHP. Przenoszę na Bazy danych.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałam co chcesz zrobić, więc odpowiadam trochę po omacku.
Zapytanie:
w miejsce gwiazdki musisz wpisać pola z obu tabel które chcesz pobrać W ten sposób możesz pobrać wszystkie bramki dla każdego meczy meczu a warunek WHERE ogranicza ci mecze do wybranego przedziału czasowego i ligi. W ten sposób dla każdego meczy dostaniesz tyle rekordów ile było bramek. masz zdublowane info o meczach na przykład jeśli w miejsce * wpiszesz: w.MeczID,w.MeczData,w.GospodarzID,w.GoscID,w.BramkiGospodarz, w.BramkiGosc, b.Pilkarz, b.DruzynaID,b.Minuta Dostaniesz coś w tym stylu 15 2008-04-12 druzynaA druzynaB 0 3 Kowalski druzynaB 9:12 15 2008-04-12 druzynaA druzynaB 0 3 Kowalski druzynaB 20:05 15 2008-04-12 druzynaA druzynaB 0 3 Nowak druzynaB 52:23 27 2008-04-13 druzynaC druzynaD 1 1 Mazurek druzynaC 16:49 27 2008-04-13 druzynaC druzynaD 1 1 Bal druzynaD 49:17 i tak dalej Przeczesując rekordy pętlą możesz sobie ładnie te dane zapakować w jakieś tablice i potem nimi zarządzać. Jedna uwaga. Zupełnie niepotrzebnie (moim zdaniem) masz zdublowane w tabeli bramki takie pola jak LigaID | SezonID Wystarczy pole MeczID, które jednoznacznie łączy dany rekord z rekordem w tabeli wyniki gdzie te dane już są. Poczytaj trochę o redundancji danych (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował JoShiMa 9.09.2008, 09:53:31 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzisiaj to przetestuje, coś podobnego spróbuję zrobić no i zobaczymy czy zadziała, jak nie to pokombinuje dalej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Kombinowałem no i nie idzie... :/ Pokazuje mi się nadal tyle meczów ile mam strzelców. Może ktos znajdzie rozwiązanie? Wydaje mi się że wszystko jest ok...
Ten post edytował Rafiki23 10.09.2008, 13:52:59 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Kombinowałem no i nie idzie... :/ Pokazuje mi się nadal tyle meczów ile mam strzelców. Może ktos znajdzie rozwiązanie? Wydaje mi się że wszystko jest ok... Przecież pokazałam Ci czarno na białym że tyle meczów Ci pokaże. Dopiero analizując w pętli te rekordy możesz obrobić te dane. rozdzielając info o meczach i o strzelcach. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Przecież pokazałam Ci czarno na białym że tyle meczów Ci pokaże. Dopiero analizując w pętli te rekordy możesz obrobić te dane. rozdzielając info o meczach i o strzelcach. A możesz pokazać jakiś przykład, bo ciężko mi to jest wyobrazić... Jakieś kroki jak to spóbować zrobić... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
A jaka strukturę danych chcesz uzyskać?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
wszystko jedno (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ważne żeby łatwo można było coś z tym zrobic (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
No sorry, ale ja Ci nie będę pisac całego skryptu. Powiedz jaką chcesz dostać strukturę danych to Ci podpowiem.
Ten post edytował JoShiMa 10.09.2008, 15:23:20 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie to poza tym co wyżej pokazałem co chcę uzyskać, pod danym meczem chcę wypisać strzelców, dlatego najlepiej aby struktura danych wyglądała podobnie. Osobno mecze i osobno strzelcy
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
Przykładowy kod adekwatny do wcześniejszego mojego kodu. W każdym razie ja bym tak zrobiła:
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 13.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
super (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzięki za przykład (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Już prawie udało mi się osiągnąć to co chcę (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:27 |