![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Od jakiegoś czasu walczę z problemem dotyczącym rodowodów. A dokładniej tworzę mini aplikację w której posiadam m.in. następujące tabele: Golab - wszystkie gołębie, nie tylko nasze, ale i na potrzeby rodowodów GolabNasz - wszystkie gołębie, które są nasze Rasa - tabela słownikowa Barwa - tabela słownikowa Jeśli chodzi o sam inner join z tabelami GolabNasz/Rasa/Barwa - wszystko ładnie śmiga, zero problemów. Cały zamysł niestety kończy mi się w momencie jakiejkolwiek próby odwołania rekurencyjnego w tabeli Golab. Składa się ona z następujących pól: ID_Golab PelnyNumerObraczki ID_Rasa ID_Barwa ID_GolabOjciec ID_GolabMatka Rekurencja występuje przy ID_GolabOjciec -> ID_Golab oraz ID_GolabMatka ->ID_Golab. Chciałbym stworzyć zapytanie, w którym otrzymam połączone zapytanie z inner joinami + PelnyNumerObraczki Matki i PelnyNumerObraczki Ojca. Tylko w jaki sposób to zrobić... Jeśli chodzi o same quadra join to wstępnie wygląda to tak: Kod SELECT ID_Golab, PelnyNumerObraczki, Rasa, Barwa, ID_GolabOjciec, ID_GolabMatka, Plec from (Golab INNER JOIN Rasa ON Rasa.ID_Rasa = Golab.ID_Rasa) INNER JOIN Barwa ON Barwa.ID_Barwa = Golab.ID_Barwa INNER JOIN GolabNasz ON Golab.ID_Golab = GolabNasz.ID_GolabNasz INNER JOIN Plec ON Plec.ID_Plec = GolabNasz.ID_Plec Kod SELECT ID_Golab, PelnyNumerObraczki, Rasa, Barwa, ID_GolabOjciec, ID_GolabMatka, Linia, Plec FROM Rasa, Barwa, GolabNasz, Golab, Plec WHERE Rasa.ID_Rasa=Golab.ID_Rasa AND Barwa.ID_Barwa = Golab.ID_Barwa AND GolabNasz.ID_GolabNasz = Golab.ID_Golab AND Plec.ID_Plec = GolabNasz.ID_Plec Jeszcze muszę uzupełnić resztę danych z tabeli GolabNasz, ale to już są zmiany kosmetyczne - Prawdziwy problem to ta rekurencja by możnabyło wypisać NumerObrączki ojca i matki ... jakieś sugestie ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 421 Pomógł: 310 Dołączył: 18.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jaki problem?
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 2.02.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedź
![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2024 - 05:02 |