Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 04.03.2010 21:20

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
Bydlisko: Bratislava
Príspevok NapísalOffline : 04.03.2010 21:28

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
Príspevok Napísal autor témyOffline : 04.03.2010 21:40

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
Príspevok NapísalOffline : 04.03.2010 21:48

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
Príspevok Napísal autor témyOffline : 04.03.2010 21:59

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
Bydlisko: Bratislava
Príspevok NapísalOffline : 04.03.2010 22:36

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
Príspevok NapísalOffline : 04.03.2010 22:37

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
Príspevok Napísal autor témyOffline : 04.03.2010 22:48

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
Príspevok NapísalOffline : 04.03.2010 23:38

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
Príspevok NapísalOffline : 05.03.2010 17:32

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!
Odpovedať na tému [ Príspevkov: 10 ] 


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

672

11.07.2011 18:39

coldak Zobrazenie posledných príspevkov

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

v Databázy

9

798

21.07.2017 18:19

lukas15 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. php + mysql : dvojity join

v Databázy

2

673

15.07.2011 20:28

jaji Zobrazenie posledných príspevkov

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

771

03.08.2012 13:11

sp33d Zobrazenie posledných príspevkov

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

v Databázy

2

738

27.06.2009 13:35

pWneD Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Vyber nevyhovujucich zaznamov (JOIN)

v Databázy

1

541

26.01.2010 22:02

stenley Zobrazenie posledných príspevkov

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

v Databázy

6

560

19.09.2017 18:44

expresado Zobrazenie posledných príspevkov

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

v Databázy

2

2010

18.06.2018 11:20

SuchSoft Zobrazenie posledných príspevkov

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

v Databázy

7

1076

24.07.2008 18:09

Triminka Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. SQL join 1 riadok (viac zaznamov)

v Databázy

4

795

14.06.2009 23:20

marek26 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Starcraft - Unable to join network!!! Help

v Počítačové hry

5

818

05.08.2009 22:07

pj Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. JOIN tabuliek ale iba 1 riadok z pravej

v Databázy

1

388

04.08.2013 23:00

Ďuri Zobrazenie posledných príspevkov

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

v Databázy

15

2227

26.03.2008 12:48

marekkk Zobrazenie posledných príspevkov

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

v Databázy

2

737

28.10.2009 19:05

BYNGY Zobrazenie posledných príspevkov

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

v Databázy

0

762

04.11.2020 15:19

jumper Zobrazenie posledných príspevkov

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

v Databázy

1

981

25.03.2009 10:48

prostor Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra