Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem z zapytaniem :( poczatkujacy
mercii
post
Post #1





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


Witam
Mam problem z drzewem genalogicznym.
W jednej tabeli mam takie agrumenty: id_osoby,imie,nazwisko,data_ur,miejsce::::
W drugiej mam id_osoby,id_matki,id_ojca::::::
Sa jeszcze inne tabele ale z tymi mam problem.
Chodzi o to aby wyswietlic powiazania rodzinne cos w stylu:
imie nazwisko osoby|imie nazwisko matki|imie nazwsiko ojca:::::
Ja to zrobic??
Napewno poprzez jakiegos wielokrotnego joina ale nei wiem jak.
Probowalem i wyszlo mi narzie takie cos:
  1. mysql> SELECT osoby.nazwisko,osoby.imie FROM osoby INNER JOIN pow_rodz ON osoby.
  2. id_osoby=pow_rodz.id_osoby;
  3. +----------+------------+
  4. | nazwisko | imie |
  5. +----------+------------+
  6. | Marzec | Tomasz |
  7. | Marzec | Alicja |
  8. | Marzec | Malgorzata |
  9. | Marzec | Szymon |
  10. +----------+------------+
  11. 4 rows IN SET (0.07 sec)

Czyli dane tylko osoby a jak dolaczyc do tego imiona i nazwiska rodzicow?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Bardzo prosze o pomoc.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mercii
post
Post #2





Grupa: Zarejestrowani
Postów: 76
Pomógł: 0
Dołączył: 1.05.2006

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


he he . To nie jest takie proste:(((.
Nie mam kolumy imie_matki. Mam id_matki a dane o jej danych wlasnie maja sie pobrac z relacji osoby.
Otrzymuje takie cos po zminie w Twoim zapytaniu imie_matki na id_matki
  1. mysql> SELECT osoby.nazwisko,osoby.imie, pow_rodz.id_matki FROM osoby INNER JOIN pow_rodz ON osoby.id_osoby=pow_rodz.id_osoby;
  2. +----------+------------+----------+
  3. | nazwisko | imie | id_matki |
  4. +----------+------------+----------+
  5. | Marzec | Tomasz | ala |
  6. | Marzec | Alicja | bab |
  7. | Marzec | Malgorzata | ala |
  8. | Marzec | Szymon | bad |
  9. +----------+------------+----------+
  10. 4 rows IN SET (0.00 sec)


Dodaje createy::
  1. CREATE TABLE osoby(
  2. -> id_osoby char(3) NOT NULL,
  3. -> imie varchar(15) NOT NULL,
  4. -> nazwisko varchar(20) NOT NULL,
  5. -> PRIMARY KEY (id_osoby));
  6.  
  7. CREATE TABLE pow_rodz(
  8. id_osoby char(3) NOT NULL,
  9. id_matki char(3) NOT NULL,
  10. id_ojca char(3) NOT NULL,
  11. FOREIGN KEY (id_osoby) REFERENCES osoby (id_osoby),
  12. FOREIGN KEY (id_matki) REFERENCES osoby (id_osoby),
  13. FOREIGN KEY (id_ojca) REFERENCES osoby (id_osoby));


Oraz dwa inserty::::
  1. INSERT INTO osoby VALUES('tkm','Tomasz','Jakis');
  2. INSERT INTO osoby VALUES('ale','Basia','Jakis');
  3. INSERT INTO osoby VALUES('bbb','Szymek','Jakis');
  4. INSERT INTO pow_rodz VALUES('tkm','ale');
  5. INSERT INTO pow_rodz VALUES('tkm','bbb');

wszsytko jest pisane z pamieci wiec moga sie poajwic jakies bledy.Jest to tylk oprzykladowe , ale na podstawie tego napweno mozna rozwiazac ten prolem.
Z gory dziekuje za pomoc.

Ten post edytował mercii 3.06.2006, 11:33:01
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: 17.10.2025 - 16:48