Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapetlonym pytaniem
misty
post
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:

  1. mysql> DESCRIBE osoba;
  2. +----------------+-------------+------+-----+---------+----------------+
  3. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  4. +----------------+-------------+------+-----+---------+----------------+
  5. | id_osoba | int(11) | NO | PRI | NULL | AUTO_INCREMENT |
  6. | imie | varchar(20) | NO | | | |
  7. | nazwisko | varchar(30) | NO | | | |
  8. | data_urodzenia | date | NO | | | |
  9. | plec | char(1) | NO | | | |
  10. | zarobki | varchar(15) | YES | | NULL | |
  11. +----------------+-------------+------+-----+---------+----------------+




  1. mysql> DESCRIBE rodzice;
  2. +-----------+---------+------+-----+---------+-------+
  3. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  4. +-----------+---------+------+-----+---------+-------+
  5. | id_osoba | int(11) | NO | | | |
  6. | id_matka | int(11) | YES | | NULL | |
  7. | id_ojciec | int(11) | YES | | NULL | |
  8. +-----------+---------+------+-----+---------+-------+



  1. mysql> DESCRIBE wspolmalzonek; +------------------+---------+------+-----+---------+-------+
  2. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  3. +------------------+---------+------+-----+---------+-------+
  4. | id_osoba | int(11) | NO | | | |
  5. | id_wspolmalzonek | int(11) | YES | | NULL | |
  6. +------------------+---------+------+-----+---------+-------+



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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
misty
post
Post #2





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

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


hej,
przerobilam jak zasugerowales, tzn:

  1. mysql> DESCRIBE osoba;
  2. +----------------+-------------+------+-----+---------+----------------+
  3. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  4. +----------------+-------------+------+-----+---------+----------------+
  5. | id_osoba | int(11) | NO | PRI | NULL | AUTO_INCREMENT |
  6. | imie | varchar(20) | NO | | | |
  7. | nazwisko | varchar(30) | NO | | | |
  8. | data_urodzenia | date | NO | | | |
  9. | plec | char(1) | NO | | | |
  10. | id_matka | int(11) | YES | | NULL | |
  11. | id_ojciec | int(11) | YES | | NULL | |
  12. | zarobki | varchar(15) | YES | | NULL | |
  13. +----------------+-------------+------+-----+---------+----------------+


  1. mysql> DESCRIBE wspolmalzonek;
  2. +-------+---------+------+-----+---------+-------+
  3. | FIELD | Type | NULL | KEY | DEFAULT | Extra |
  4. +-------+---------+------+-----+---------+-------+
  5. | id_1 | int(11) | NO | | | |
  6. | id_2 | int(11) | NO | | | |
  7. +-------+---------+------+-----+---------+-------


no rozumiem ze teraz tabela "rodzice" nie jest potrzebna. kombinuje i nic mi nie wychodzi.. wpierw probuje znalezc osoby ktora sa matka lub ojcem:

  1. mysql> SELECT id_osoba FROM osoba WHERE id_osoba = id_matka OR id_osoba = id_ojciec;


i dostaje empty set.. oczywiscie wypelnilam tabele jakimis testowymi danymi.. od czego mam zaczac by to rozwiazac?


pzdr,
misty

aha, w zalozeniach jest ze dziecko jest z malzenstwa, tzn odrzucam przypadki ze malzenstwo moglo trwac np od-do i potem byc nastepne
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: 4.10.2025 - 06:59