[ Príspevkov: 10 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 30.04.10
Príspevky: 5
Témy: 1 | 1
NapísalOffline : 04.03.2010 21:20 | join 3 tables mysql

ahojte, potrebujem pomoct s tymto...
mam 3 tabulky...
users,posts,comments

users obsahuje 'login'
ostatne 2 maju polozku 'author'
....vsetky 3 sa, samozrejme, tykaju uzivatelskeho mena..

taze takto vytiahnem pocet postov od vsetkych autorov (z posts):
Kód:
select u.login,count(p.author) FROM users AS u LEFT JOIN posts AS p ON p.author=u.login GROUP by u.login;

+--------+-----------------+
| login | count(p.author) |
+--------+-----------------+
| user1 | 0 |
| user2 | 12 |
| user3 | 1 |
+--------+-----------------+
super...funguje...

teraz si kukenm kolko maju komentarov z comments:
Kód:
select u.login,count(c.author) FROM users AS u LEFT JOIN comments AS c ON c.author=u.login GROUP by u.login;

+--------+-----------------+
| login | count(c.author) |
+--------+-----------------+
| user1 | 0 |
| user2 | 53 |
| user3 | 7 |
+--------+-----------------+

ochhh, tiez fujguje...

... a teraz by som si prial zistit kolko maju jednotlivi uzivatelia komentarov aj postov...
skusam vsetko mozne, ale dajak nic nejde! prosim help!!

napr:
Kód:
select u.login,count(p.author),count(c.author) FROM users AS u LEFT JOIN posts AS p ON p.author=u.login LEFT JOIN comments AS c ON c.author=u.login GROUP by u.login;

+--------+-----------------+-----------------+
| login | count(p.author) | count(c.author) |
+--------+-----------------+-----------------+
| user1| 0 | 0 |
| user2 | 636 | 636 |
| user3 | 7 | 7 |
+--------+-----------------+-----------------+

mi neviem preco vyhodi nasobky postov a commentov


dakujem za vsetky rady...


Offline

Správca fóra
Správca fóra
join 3 tables mysql

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 04.03.2010 21:28 | join 3 tables mysql

a co tak uchovavat pocet komentarov a postov v tabulke users? ;)


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 30.04.10
Príspevky: 5
Témy: 1 | 1
Napísal autor témyOffline : 04.03.2010 21:40 | join 3 tables mysql

moja odpoved (alebo protiotazka) znie: a co tak nie? ;)

... chcem to tym sposobom, lebo zvytocny zapis do users mi bude cely system este viac spomalovat. viem, hovorte si co chcete, ze 2 zapisy navyse mozu ho*no, ale ked ich bude 100 navyse...tak to uz bude o niecom..

...takze, prosim, pomozte mi s tym JOINOM. diks


Offline

Skúsený užívateľ
Skúsený užívateľ
join 3 tables mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 04.03.2010 21:48 | join 3 tables mysql

práveže ten jeden zápis ti odbremení databázu od zložitejších joinov s potencionálne veľkými tabuľkami. Preto sa to robí.
By si neveril, aký bordel dokáže spraviť zlý join.


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 30.04.10
Príspevky: 5
Témy: 1 | 1
Napísal autor témyOffline : 04.03.2010 21:59 | join 3 tables mysql

asi mas pravdu... ale aj tak to chcem vediet! bo viem, ze sa to da :D


Offline

Správca fóra
Správca fóra
join 3 tables mysql

Registrovaný: 27.07.07
Príspevky: 3948
Témy: 51 | 51
Bydlisko: Bratislava
NapísalOffline : 04.03.2010 22:36 | join 3 tables mysql

tu mas teda funkcne riesenie


_________________
NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE
Offline

Skúsený užívateľ
Skúsený užívateľ
join 3 tables mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 04.03.2010 22:37 | join 3 tables mysql

Toto by bolo skôr na subselect alebo
Kód:
COUNT(DISTINCT c.id) AS comments_count, COUNT(DISTINCT p.id) AS posts_count


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 04.03.10
Prihlásený: 30.04.10
Príspevky: 5
Témy: 1 | 1
Napísal autor témyOffline : 04.03.2010 22:48 | join 3 tables mysql

stenley píše:
tu mas teda funkcne riesenie


och, tak to je trocha dlhy kod... ked to beriem tak, ze by som mal zbierat data z 10 tabuliek, to by bol koniec...

rooobertek, davam na teba ;D
hodim to do users...


Offline

Užívateľ
Užívateľ
join 3 tables mysql

Registrovaný: 04.04.08
Prihlásený: 19.05.15
Príspevky: 424
Témy: 75 | 75
NapísalOffline : 04.03.2010 23:38 | join 3 tables mysql

je jasne preco ti to dava nasobok comentarov a postov

1) odporucam precitat ako funguje joinovanie (vsetky druhy), to sa ti zide do buducna
2) v prvom kroku sa vyberu vsetci uzivatelia (su traja), v druhom kroku sa joinuju vsetky posty k uzivatelom (co je spravne) a v tretom kroku sa na kazdy zaznam (uzivatel x kazdy post) joinuju komentare...cize vystup je presne taky ako si zadal :) (nasobok), aj ked taky nechces

preco nechces to cez 2 selecty?

ak to chces predsa cez jeden select, tak je to mozne...skus porozmyslat ako vyuzijes to ze pri joinovani postov ti stlpce po joinovani komentarov obsahuju NULL, cize skus porozmyslat ako to prerobis na SUM a IF


_________________
Notebook: Fujitsu Siemens AMILO Xi2550, 17" WUXGA (1920x1200), Intel Core2Duo T9300 (2,5 GHz), 3GB DDR2 667 MHz, 2x320 GB HDD (RAID 0), ATI Radeon HD2700 (256MB GDDR3)
Offline

Skúsený užívateľ
Skúsený užívateľ
join 3 tables mysql

Registrovaný: 09.07.08
Prihlásený: 17.01.15
Príspevky: 1585
Témy: 96 | 96
NapísalOffline : 05.03.2010 17:32 | join 3 tables mysql

Merlin_sk, myslim, ze peefg to uz vyriesil


_________________
neříkejte, že něco nejde udělat, protože se vždycky najde nějaký blbec, co neví, že to nejde – a udělá to!
 [ Príspevkov: 10 ] 


join 3 tables mysql



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

MySQL join...

v Databázy

7

712

11.07.2011 18:39

coldak

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL - SELECT JOIN

v Databázy

9

849

21.07.2017 18:19

lukas15

V tomto fóre nie sú ďalšie neprečítané témy.

php + mysql : dvojity join

v Databázy

2

707

15.07.2011 20:28

jaji

V tomto fóre nie sú ďalšie neprečítané témy.

"Failed to locate necessary tables" Error pri zapinani

v Operačné systémy Microsoft

25

841

03.08.2012 13:11

sp33d

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s LEFT JOIN

v Databázy

6

607

19.09.2017 18:44

expresado

V tomto fóre nie sú ďalšie neprečítané témy.

Problém z LEFT JOIN

v Databázy

2

761

27.06.2009 13:35

pWneD

V tomto fóre nie sú ďalšie neprečítané témy.

Vyber nevyhovujucich zaznamov (JOIN)

v Databázy

1

582

26.01.2010 22:02

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s FULL OUTER JOIN

v Databázy

2

2507

18.06.2018 11:20

SuchSoft

V tomto fóre nie sú ďalšie neprečítané témy.

problem pri LEFT OUTER JOIN

v Databázy

7

1104

24.07.2008 18:09

Triminka

V tomto fóre nie sú ďalšie neprečítané témy.

SQL join 1 riadok (viac zaznamov)

v Databázy

4

825

14.06.2009 23:20

marek26

V tomto fóre nie sú ďalšie neprečítané témy.

Starcraft - Unable to join network!!! Help

v Počítačové hry

5

854

05.08.2009 22:07

pj

V tomto fóre nie sú ďalšie neprečítané témy.

JOIN tabuliek ale iba 1 riadok z pravej

v Databázy

1

443

04.08.2013 23:00

Ďuri

V tomto fóre nie sú ďalšie neprečítané témy.

MySql

v Databázy

15

2301

26.03.2008 12:48

marekkk

V tomto fóre nie sú ďalšie neprečítané témy.

MysQl

v Databázy

2

781

28.10.2009 19:05

BYNGY

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL

v Databázy

0

822

04.11.2020 15:19

jumper

V tomto fóre nie sú ďalšie neprečítané témy.

MySQL

v Databázy

1

1065

25.03.2009 10:48

prostor



© 2005 - 2024 PCforum, edited by JanoF