ďťż
 
wybieranie z 2 tabel i sortowanie ďťż
 
wybieranie z 2 tabel i sortowanie
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

wybieranie z 2 tabel i sortowanie



raker - 19-07-2007 00:06
wybieranie z 2 tabel i sortowanie
  Witam,
chcialbym uzyskac pomoc w stworzeniu najefektywniejszego zapytania ktore bedzie
wybieralo z 2 tabel i sortowalo po elementach z jednej z tabel.

Dla przykladu przedstawiam strukture tabel.

Tabela uzytkownikow [users]
id|login

Tabela zwierzat [animals]
id|uid|name

I teraz chce wybrac np. wrzystykich uzytkownikow z bazy users oraz zliczyc ile
kazdy z nich ma zwierzat [generalnie users.id = animals.uid]
i posorotwac wyniki albo po loginie albo po ilosci zwierzat dla kazdego
uzytkownika.

z gory dziekuje za pomoc

pozdrawiam
raker

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





jerzy - 19-07-2007 00:06

  raker wrote:
> Witam,
> chcialbym uzyskac pomoc w stworzeniu najefektywniejszego zapytania ktore bedzie
> wybieralo z 2 tabel i sortowalo po elementach z jednej z tabel.
>
> Dla przykladu przedstawiam strukture tabel.
>
> Tabela uzytkownikow [users]
> id|login
>
> Tabela zwierzat [animals]
> id|uid|name
|ile
w założeniu nie przewidujesz ilości?
tj. jedno zwierzątko na rekord?
>
> I teraz chce wybrac np. wrzystykich uzytkownikow z bazy users oraz zliczyc ile
> kazdy z nich ma zwierzat [generalnie users.id = animals.uid]
> i posorotwac wyniki albo po loginie albo po ilosci zwierzat dla kazdego
to trochę komplikuje drugą opcję sortowania (bo właściwie chodzi o ilość
rekordów)
> uzytkownika.
>
> z gory dziekuje za pomoc
>
> pozdrawiam
> raker
>
>




=?ISO-8859-2?Q?Adam_P=B3aszczyca?= - 20-07-2007 00:03

  On 18 Jul 2007 22:01:18 +0200, "raker" <rakerWYTNIJTO@poczta.onet.pl>
wrote:

>Tabela uzytkownikow [users]
>id|login
>
>Tabela zwierzat [animals]
>id|uid|name
>
>I teraz chce wybrac np. wrzystykich uzytkownikow z bazy users oraz zliczyc ile
>kazdy z nich ma zwierzat [generalnie users.id = animals.uid]
>i posorotwac wyniki albo po loginie albo po ilosci zwierzat dla kazdego
>uzytkownika.

No ale w czym problem?

Select users.login, count(animals.uid) as ilzwierz from
users join animals on generalnie users.id = animals.uid
group by users.login
order by ilzwierz

Albo order by login

--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122688
___/ /_ ___ ul. Na Szaniec 23/70, 31-560 Kraków, (012) 3783198
_______/ /_ http://trzypion.oldfield.org.pl/wieliczka/
___________/ GG: 3524356




=?ISO-8859-2?Q?Adam_P=B3aszczyca?= - 20-07-2007 00:03

  On Thu, 19 Jul 2007 00:02:47 +0200, jerzy <j_@gazeta.pl> wrote:

>> I teraz chce wybrac np. wrzystykich uzytkownikow z bazy users oraz zliczyc ile
>> kazdy z nich ma zwierzat [generalnie users.id = animals.uid]
>> i posorotwac wyniki albo po loginie albo po ilosci zwierzat dla kazdego
>to trochę komplikuje drugą opcję sortowania (bo właściwie chodzi o ilość
>rekordów)

Ależ, druga od ręki metoda:

select users.id, a.ilzwierz from

users join
(select id, count(*) as ilzwierz from animals as A)
on a.id=users.id
order by ilzwierz
--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688
___/ /_ ___ ul. Na Szaniec 23/70 31-560 Kraków (012 378 31 98)
_______/ /_ http://trzypion.oldfield.org.pl/wieliczka/foto.html
___________/ mail: _555@irc.pl GG: 3524356





raker - 21-07-2007 00:08

  Tylko czy to rozwiazanie znajdzie userow ktorzy nie bede mieli zwierzatek w
tabeli?

> No ale w czym problem?
>
> Select users.login, count(animals.uid) as ilzwierz from
> users join animals on generalnie users.id = animals.uid
> group by users.login
> order by ilzwierz
>
> Albo order by login
>
> --
> * * ___________ (R)
> * */_ *_______ * * *Adam 'Trzypion' Płaszczyca (+48 502) 122688
> *___/ /_ *___ * *ul. Na Szaniec 23/70, 31-560 Kraków, (012) 3783198
> _______/ /_ * * http://trzypion.oldfield.org.pl/wieliczka/
> ___________/ * *GG: 3524356

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




=?ISO-8859-2?Q?Adam_P=B3aszczyca?= - 21-07-2007 00:08

  On 20 Jul 2007 17:17:48 +0200, "raker" <rakerWYTNIJTO@poczta.onet.pl>
wrote:

>Tylko czy to rozwiazanie znajdzie userow ktorzy nie bede mieli zwierzatek w
>tabeli?

1. Odpowiada się POD cytatem, który się odpowiednio skraca.

2. Takie nie, ale jak zmienisz join na left outer join to juz tak.
--
___________ (R)
/_ _______ Adam 'Trzypion' Płaszczyca (+48 502) 122 688
___/ /_ ___ ul. Na Szaniec 23/70 31-560 Kraków (012 378 31 98)
_______/ /_ http://trzypion.oldfield.org.pl/wieliczka/foto.html
___________/ mail: _555@irc.pl GG: 3524356
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?= [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= [mysql] Wyszukanie =?ISO-8859-2?Q?rekord=F3w=28powiazane_tabel?==?ISO-8859-2?Q?e=29?= [MySQL] Zapytanie z =?ISO-8859-2?Q?dw=F3ch_tabel_na_raz_?==?ISO-8859-2?Q?i_grupowanie_po_wsp=F3lnym_polu=2E_Jak_=3F?= zapytanie do =?ISO-8859-2?Q?dw=F3ch_tabel_z_limitem_wier?==?ISO-8859-2?Q?szy?= [mysql] =?ISO-8859-2?Q?po=B3=B1czenie_tabel_wg_kolumn=2C_?==?ISO-8859-2?Q?nie_wierszy?= Zapytanie SQL z =?ISO-8859-2?Q?pust=B1_tabel=B1?= [MySQL] Backup tabel przez "BACKUP" i problem z prawami dostępu :( =?iso-8859-2?Q?Problem_z_left_join_-_=B3=B1czenie_kilku_tabel.?= Jak wyswietlic dane z dwoch tabel gdy dla jednej z nich jest brak jest danej wartosci
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • melooonka.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com