Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 18.07.2010 Ostrzeżenie: (0%)
|
Witam (IMG:style_emoticons/default/smile.gif)
Postanowiłem pogłębić nieco moją wiedzę w tej dziedzinie i zabrać się za coś odrobinkę trudniejszego. Zabawa szła dobrze do pewnego momentu, już wyjaśniam o co mi chodzi. Mam taką o to bazę danych (a raczej jej potrzebny tutaj fragment): (IMG:http://members.multimania.co.uk/patriks007/forumPHP/widok.jpg) Stworzyłem sobie takie oto zapytanie: (IMG:http://members.multimania.co.uk/patriks007/forumPHP/zapytanie.jpg) Które daje taki wynik w phpadminie: (IMG:http://members.multimania.co.uk/patriks007/forumPHP/wynik.jpg) Moje pytanie polega na tym, jak "unormalnić" ten wynik zapytania ? Normalną sprawą jest, że funkcja w php mysqli_fetch_assoc listuje ten wynik w taki sam sposób j/w co utrudnia mi strasznie zabawę bo nie mam pomysłu jak to przefiltrować w PHP. A może nie wpadłem na pomysł i da się to sprytnie poprawić w samym zapytaniu zaoszczędzając sobie sporo dłubania w PHP ? Aby była całkowita jasność mojej wizji podam przykład wyniku jaki właśnie mnie interesuje: (IMG:http://members.multimania.co.uk/patriks007/forumPHP/marzenie.jpg) Bawiłem się troszeczkę GROUP_CONCAT ale moimi pomysłami realizuję powyższy plan co najwyżej połowicznie (IMG:style_emoticons/default/worriedsmiley.gif) Proszę o rady/pomoc (IMG:style_emoticons/default/smile.gif) |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 46 Pomógł: 0 Dołączył: 18.07.2010 Ostrzeżenie: (0%)
|
Poczytałem chwilkę o JOIN i stworzyłem takie oto zapytanie:
Kod SELECT film_b.idfilm 'id', film_b.tytul_ang, film_b.rok_prod 'produkcja', GROUP_CONCAT( DISTINCT CONCAT(czlowiek_filmu_b.imie,' ',czlowiek_filmu_b.nazwisko)) 'rezyseria', GROUP_CONCAT( DISTINCT CONCAT(a.imie,' ',a.nazwisko)) 'aktorzy', GROUP_CONCAT( DISTINCT gatunek.nazwa) 'gatunek' FROM film AS film_b, rola AS rola_b, czlowiek_filmu AS czlowiek_filmu_b, czlowiek_filmu_do_film AS czlowiek_filmu_do_film_b, gatunek, film_do_gatunek INNER JOIN ( SELECT film_a.idfilm 'id', czlowiek_filmu_a.imie, czlowiek_filmu_a.nazwisko FROM film AS film_a, rola AS rola_a, czlowiek_filmu AS czlowiek_filmu_a, czlowiek_filmu_do_film AS czlowiek_filmu_do_film_a WHERE rola_a.rola = 'aktor' AND czlowiek_filmu_do_film_a.czlowiek_filmu_idczlowiek_filmu = czlowiek_filmu_a.idczlowiek_filmu AND czlowiek_filmu_do_film_a.film_idfilm = film_a.idfilm AND czlowiek_filmu_do_film_a.rola_idrola = rola_a.idrola ) AS a ON a.id = id WHERE rola_b.rola = 'rezyser' AND czlowiek_filmu_do_film_b.czlowiek_filmu_idczlowiek_filmu = czlowiek_filmu_b.idczlowiek_filmu AND czlowiek_filmu_do_film_b.film_idfilm = film_b.idfilm AND czlowiek_filmu_do_film_b.rola_idrola = rola_b.idrola AND film_do_gatunek.film_idfilm = film_b.idfilm AND film_do_gatunek.gatunek_idgatunek = gatunek.idgatunek GROUP BY film_b.idfilm Wynik zapytania jest następujący: (IMG:http://members.multimania.co.uk/patriks007/forumPHP/prawie.jpg) Jest już prawie idealnie ! (IMG:style_emoticons/default/smile.gif) Moje jeszcze jedno pytanie w związku z tym, dlaczego w kolumnie aktorzy nie powtarza się kolejność wpisów ? Ten post edytował patrix007 19.07.2010, 00:20:52 |
|
|
|
patrix007 Stworzenie specyficznego zapytania do bazy danych lub filtrowanie w php 18.07.2010, 20:19:36
Mchl [edit]
Za szybko odpowiedziałem, za wolno przeczyt... 18.07.2010, 20:22:45
patrix007 Najlepsze zapytanie jakie wymyśliłem wygląda nastę... 18.07.2010, 20:31:40
Mchl Musisz tabelę czlowiek_filmu dołączyć jeszcze raz ... 18.07.2010, 21:10:34
patrix007 No i ten moment właśnie nie bardzo rozumiem,
skop... 18.07.2010, 21:58:05
Mchl Wiesz co... nie bardzo chce mi się przepisywać to ... 18.07.2010, 22:26:16
Mchl KodGROUP_CONCAT( DISTINCT CONCAT(a.imie,... 19.07.2010, 08:08:43
patrix007 Teraz jest perfekcyjnie ;-)
Teraz mogę się bawić d... 20.07.2010, 13:57:16
Mchl Spróbuj
KodON a.id = film_b.idfilm 20.07.2010, 15:10:53
patrix007 Błąd:
Kod#1054 - Unknown column 'film_b.idfil... 20.07.2010, 15:18:25
Mchl Dziwna sprawa, bo to przecież pierwsza kolumna w t... 20.07.2010, 16:55:17
patrix007 Mchl, oczywiście miałeś rację, jednak (wbrew logic... 20.07.2010, 16:58:46
Mchl No tak. Na co dzień nie używam przecinka tylko INN... 20.07.2010, 17:14:07
patrix007 Kolejny problem mam.
Tym razem chodzi o to, że ja... 1.08.2010, 13:57:01
everth Jak masz tak skomplikowane zapytania to zapoznaj s... 1.08.2010, 14:37:37 ![]() ![]() |
|
Aktualny czas: 9.08.2026 - 01:25 |