Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jeden-do-wielu i jeden reprezentant z "wielu"
erix
post
Post #1





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jak wygląda relacja jeden-do-wielu, to pewnie większość wie, możliwe że się mój problem już przewinął, ale po poszukiwaniach nie znalazłem innych rozwiązań niż te, które zdążyły się już osadzić w mojej mózgownicy.

Mianowicie, szukam sposobu na wyciągnięcie reprezentanta z tabeli będącej częścią "wielu" z nazwy relacji, np. tabela mieszkania i tabela mieszkańcy. Potrzebuję wyciągnąć listę wszystkich mieszkań wraz z dokładnie jednym mieszkańcem, który w nim rezyduje.

No i znane mi są dwie możliwości:
  • GROUP BY po ID mieszkania (co raczej wydajne nie będzie)
  • podzapytanie


moje pytanie: są inne opcje niż powyższe?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cojack
post
Post #2





Grupa: Zarejestrowani
Postów: 898
Pomógł: 80
Dołączył: 31.05.2008

Ostrzeżenie: (20%)
X----


  1. CREATE TABLE "mieszkancyMieszkania" (
  2. "idMieszkanca" INT REFERENCES "mieszkancy" NOT NULL,
  3. "idMieszkania" INT REFERENCES "mieszkania" NOT NULL,
  4. "wlasciciel" BOOLEAN DEFAULT FALSE NOT NULL,
  5. PRIMARY KEY( "idMieszkanca", "idMieszkania" )
  6. );
  7.  
  8. SELECT
  9. ...
  10. LEFT JOIN
  11. "mieszkancyMieszkania"
  12. ON
  13. ( "mieszkancyMieszkania" = ... AND "mieszkancyMieszkania"."wlasciciel" )
  14. ...;



@edit a nie kufa, fail sory to jest m-to-m czekaj bo mnie tu w pracy goni czas..

@edit2
no przecież tu zwykły DISTINCT poleci. Ale mi namieszałeś w berecie.

Ten post edytował cojack 12.08.2010, 14:20:24
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: 27.09.2025 - 16:56