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
erix
post
Post #2





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




Ale to przykładowo tylko, załóżmy:

mieszkania
Kod
+----+-------+
| ID | nazwa |
+----+-------+
|  4 | asd   |
|  5 | sda   |
|  6 | xyz   |
+----+-------+
3 rows in set (0.00 sec)

mieszkańcy;
Kod
+----+------------+----------+
| ID | mieszkanie | nazwisko |
+----+------------+----------+
|  1 |          4 | fgdfg    |
|  2 |          4 | xyyy     |
|  3 |          5 | werwer   |
|  4 |          5 | dsfgdfg  |
|  5 |          6 | ffff     |
+----+------------+----------+
5 rows in set (0.00 sec)


zwykły join
Kod
+----+-------+----+------------+----------+
| ID | nazwa | ID | mieszkanie | nazwisko |
+----+-------+----+------------+----------+
|  4 | asd   |  1 |          4 | fgdfg    |
|  4 | asd   |  2 |          4 | xyyy     |
|  5 | sda   |  3 |          5 | werwer   |
|  5 | sda   |  4 |          5 | dsfgdfg  |
|  6 | xyz   |  5 |          6 | ffff     |
+----+-------+----+------------+----------+
5 rows in set (0.00 sec)


i z pogrupowaniem:
Kod
+----+-------+----+------------+----------+
| ID | nazwa | ID | mieszkanie | nazwisko |
+----+-------+----+------------+----------+
|  4 | asd   |  1 |          4 | fgdfg    |
|  5 | sda   |  3 |          5 | werwer   |
|  6 | xyz   |  5 |          6 | ffff     |
+----+-------+----+------------+----------+
3 rows in set (0.04 sec)


Chodzi mi o ten z pogrupowaniem (ale tylko pod względem działania). (IMG:style_emoticons/default/winksmiley.jpg)
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: 14.10.2025 - 02:48