Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] JOIN
The Night Shadow
post 9.06.2006, 17:20:03
Post #1





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Próbowałem przebić się przez ten temat http://forum.php.pl/index.php?showtopic=2093&hl=join i nie bardzo mi to idzie.

Tabele:

uzytkownicy
id
login....

posty
id
id_uzytkownika
temat....

W jaki sposób pobrać jednym zapytaniem dane użytkowników, oraz dołączyć do tego ilość rekordów z tabeli posty, gdzie id_uzytkownika jest rowne id w tabeli uzytkownicy, a następnie posortować całość podług ilości postów kolejnych użytkowników?


--------------------
Programista Stron i Serwisów WWW oraz Aplikacji Internetowych
Specjalista ds. Pozycjonowania Aplikacji Internetowych
Copywriter
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
AcidBurnt
post 9.06.2006, 18:52:00
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 1
Dołączył: 13.04.2003
Skąd: z ławki przed blokiem

Ostrzeżenie: (0%)
-----


  1. SELECT *.a, count(*.B) FROM uzytownicy a, posty b WHERE id.a = id_uzytkwonia.b


pisane z palca, moze nie dzialac poprawnie ;p ale mniej wiecej cos w ten desen

a to:

  1. SELECT u.user_id, count(c.*) FROM temida_users u, temida_contracts c WHERE u.user_id = c.user_id GROUP BY u.user_id


dziala na 100% ale w postgresql, ale w sumie SQL to SQL powinno zadzialac CI w mySQL

Ten post edytował AcidBurnt 9.06.2006, 18:59:12
Go to the top of the page
+Quote Post
The Night Shadow
post 9.06.2006, 19:43:02
Post #3





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Dzięki Ci po stokroć :- ) Na tym jednym przykładzie będzie mi znacznie łatwiej zrozumieć resztę z tamtego tematu... :- )


--------------------
Programista Stron i Serwisów WWW oraz Aplikacji Internetowych
Specjalista ds. Pozycjonowania Aplikacji Internetowych
Copywriter
Go to the top of the page
+Quote Post
em1X
post 9.06.2006, 21:50:41
Post #4





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


a skoro miał być join winksmiley.jpg

  1. SELECT uzytkownicy.login, Count(posty.id) AS Ilosc
  2. FROM uzytkownicy INNER JOIN posty ON uzytkownicy.id = posty.id_uzytkownika
  3. GROUP BY uzytkownicy.login ORDER BY Ilosc DESC


pisane z palca więc pisz jakby nie działało...

Ten post edytował em1X 9.06.2006, 21:51:17


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
The Night Shadow
post 10.06.2006, 07:55:11
Post #5





Grupa: Zarejestrowani
Postów: 495
Pomógł: 2
Dołączył: 5.02.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $pobieranie_ostatniego_postu = mysql_query("SELECT l.id as id_uzytkownika, l.login, s.* FROM $tabela_shoutbox s, $tabel
    a_logowanie l WHERE l.id=s.shoutbox_id_uzytkownika GROUP BY l.id ORDER by s.shout
    box_data DESC LIMIT 1"
    );
  3. ?>


Powyższe zapytanie powinno pobierać ostatni (najnowszy) post z shoutboxa (potzrne do statystyk) dodając do tego login użytkownika, który go napisał. Nie bardzo rozumiem dlaczego pobiera id ostatnio zarejestrowanego użytkownika (o najwyższym id), a następnie dołącza do niego najnowszy post tegoż użytkownika.

Co robię nie tak?

Już do tego doszedłem :- ) Grupować należy nie według id użytkownika a według daty post ;- )

Ten post edytował The Night Shadow 10.06.2006, 09:52:09


--------------------
Programista Stron i Serwisów WWW oraz Aplikacji Internetowych
Specjalista ds. Pozycjonowania Aplikacji Internetowych
Copywriter
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 08:46