jeden-do-wielu i jeden reprezentant z "wielu" |
jeden-do-wielu i jeden reprezentant z "wielu" |
12.08.2010, 12:58:52
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:
moje pytanie: są inne opcje niż powyższe? -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
12.08.2010, 13:30:07
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) |
Jeżeli w tabeli łączącej mieszkańców z mieszkaniami, miałbyś kolumnę z informacją o tym czy dany mieszkaniec jest właścicielem mieszkania, to wystarczyła by taka informacja w klauzuli ON ( ... ) i pobrało by tylko jednego mieszkańca z każdego mieszkania dla każdego mieszkania. Albo próbuj jakąś daną z tabeli mieszkańców, pobrać która jest unikatowa dla poszczególnych mieszkańców danego mieszkania.
@edit ciężko tak na sucho jak nie znasz reprezentacji tabel. Ten post edytował cojack 12.08.2010, 13:31:26 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
12.08.2010, 13:54:07
Post
#3
|
|
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). -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
12.08.2010, 14:16:45
Post
#4
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 80 Dołączył: 31.05.2008 Ostrzeżenie: (20%) |
@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 -------------------- cojack blog - mój blog (na jakiś czas off).
"jak czegoś nie wiem, to nie myślę że wiem" - moja domena |
|
|
12.08.2010, 14:19:29
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
No tak, ale chcę uniknąć tworzenia osobnej kolumny. Nieistotne jest, którego mieszkańca wybierze. Też wpadłem na coś takiego, ale zależy mi na rozwiązaniu, które działa jak GROUP BY, ale przy napotkaniu pasującego rekordu przejdzie do następnego dopasowania źródłowego, a nie katuje pomimo to, że ma już co trzeba...
-------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
12.08.2010, 14:19:43
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
HAVING...
-------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
12.08.2010, 14:32:46
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów |
skleroza nie boli, a ja kombinowałem... ~zegarek84, ale to wciąż wymaga użycia group by. -------------------- ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
12.08.2010, 15:15:08
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) |
...Potrzebuję wyciągnąć listę wszystkich mieszkań wraz z dokładnie jednym mieszkańcem, który w nim rezyduje. Więc ja źle zrozumiałem o co chodziło -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 13:50 |