![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
hej, mam nastepujacy problem-mam sobie baze, pare tabel.. w nich informacje o osobach. kazda osoba moze miec mame lub(i) tate lub (i) wspolmalzonka. musze wyciagnac z bazy osoba ktora ma jak najwiecej wnukow. z tego co rozumiem (i jak to sobie wyobrazam) bedzie to osoba ktora ma wspolmalzonka i ktora jest ojcem/matka dla kogos, gdzie ten 'ktos' tez musi miec wspolmalzonka i byc dla kogos ojcem/matka.. strasznie to zapetlone. wrzucilam te dane do 3ch tablic:
no i nie moge wyciagnac tych danych.. tak sie zastanawiam-czy na pewno moge, czy dobrze zaprojektowalam tablice? czy moglby mi ktos pomoc w tym problemie? pzdr, misty Ten post edytował misty 20.07.2009, 14:23:20 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 366 Pomógł: 0 Dołączył: 2.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
no dobra, to zapytanie zwraca mi imiona rodzicow wszystkich osob. ale jaki to ma zwiazek z moim problemem? jak z tego wnukow wyciagnac?
tzn chyba tego "nie widze" po prostu. nie wiem co z czym zlozyc by wyszly wnuki. tzn ja rozumiem to tak, ze osoba o najwiekszej ilosci wnukow bedzie to osoba ktora jest matka lub ojcem i ktorej dziecko jest matka lub ojcem.. ale "nie widze" jak to zlaczyc |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
[...]ale "nie widze" jak to zlaczyc Po to podałem Ci linki - poczytaj. Jeśli to za mało, to Google -> MySQL JOIN. Znajdziesz wiele wyników zarówno po polsku jak i angielsku.Zapytanie powinno wybrać wszystkie dzieci osoby o id = 123: Kod SELECT c.imie, c.nazwisko Żeby wybrać wnuki danej osoby, potrzebujesz małej modyfikacji tego zapytania. Wysil się trochę, bo nie dajemy gotowych rozwiązań. Nawet kobietom (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
FROM osoby o LEFT JOIN osoby c ON (c.id_matka = o.id_osoby OR c.id_ojciec = o.id_osoby) WHERE o.id_osoby = 123 Ten post edytował sowiq 20.07.2009, 21:09:20 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:45 |