[ Príspevkov: 7 ] 
AutorSpráva
Offline

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

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74 | 74
Bydlisko: Michalovce
NapísalOffline : 19.09.2017 11:03 | Problém s LEFT JOIN

Nazdárek. Potreboval by som poradiť. Mám dve tabuľky. V tabuľke posts mám uložené príspevky (post_id, autor_id, text, typ, datum atd) a v tabuľke share sú uložený užívatelia ktorí zdieľajú príspevky (post_id, autor_id, zdiela_id, datum.) Povedzme, že v tabuľke posts má užívateľ 14 príspevkov a zdieľa ďalšie 3 príspevky - teda 3x v tabuľke share. Čiže, malo by mi to zobraziť 17 príspevkov. Problém je, že mi to zobrazuje príspevkov 20. Vyberá mi aj tie príspevky zo share, ktorých som autorom a nie len ktoré zdieľam. Ak použijem UNION, tak je všetko OK, ale tomu sa chcem vyhnúť, chcel by som tabuľky prepojiť cez JOIN. Lenže práve pri tomto je problém:
Kód:
$selPost=$linkDB->query("SELECT p.*, s.* FROM posts p LEFT JOIN share s ON s.post_id=p.post_id WHERE p.autor_id='21'");

Neviete mi poradiť ako to upraviť aby mi to vyhodilo reálne len tie príspevky ktoré som uverejnil a ktoré zdieľam ale nie som autorom?
Ďakujem


Offline

Správca fóra
Správca fóra
Problém s LEFT JOIN

Registrovaný: 08.08.09
Príspevky: 12446
Témy: 38 | 38
NapísalOffline : 19.09.2017 11:10 | Problém s LEFT JOIN

Nerozumiem zadaniu.
Ty máš v share príspevky duplicitne?
Inak hrozné názvy stlpcov a tabuliek, čo je share.zdiela_id? prečo kombinuješ anglické a slovenské názvy? 'text' je rezervované, budeš mať niekde problém v budúcnosti.

Teda ak používateľ author_id=21 zdieľa príspevok z tabuľky posts, ty ho nedáš do tabuľky posts ale do share???


_________________
always is always wrong
Offline

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

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74 | 74
Bydlisko: Michalovce
Napísal autor témyOffline : 19.09.2017 11:19 | Problém s LEFT JOIN

killer, názvy stĺpcov nerieš. Takéto názvy stĺpcov som dal len tu v príspevku pre lepšie pochopenie ;-) A nie. V tabuľke share je len id príspevku, id autora príspevku a id užívateľa ktorý zdieľa príspevok no a dátum zdieľania. To je všetko. V tabuľke posts sú samotné príspevky. Tzn. id príspevku, id autora, text, obrázky, odkazy atd. Čiže žiadne 2 tabuľky s príspevkami.


Offline

Užívateľ
Užívateľ
Problém s LEFT JOIN

Registrovaný: 19.05.08
Prihlásený: 20.04.26
Príspevky: 670
Témy: 28 | 28
Bydlisko: Slovensko
NapísalOffline : 19.09.2017 16:16 | Problém s LEFT JOIN

popis tohto stylu je velmi zle pochopitelny, tebe sa to zda jasne niekomu externe vsak nie. Nahod sample tabulky s datami na sql fiddle alebo podobnu sluzbu a tam ti hodime aj query ako to ma byt. :)


Offline

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

Registrovaný: 21.09.08
Prihlásený: 14.11.17
Príspevky: 225
Témy: 74 | 74
Bydlisko: Michalovce
Napísal autor témyOffline : 19.09.2017 17:30 | Problém s LEFT JOIN

Mám to na localhoste, čiže priamy link nepridám, ale pridal som screen tabuliek:
https://imgur.com/a/xAeZj
Takže ešte raz v jednoduchosti. Povedzme že som užívateľ s UID 19 A chcel by som zobraziť všetky moje príspevky (tabuľka posts - uid 19) a príspevky ktoré zdieľam (tabuľka posts_share - suid 19). Ako by teda mal vyzerať ten SELECT? Najoptimálnejšie bez použitia UNION..


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 17.07.11
Prihlásený: 29.12.20
Príspevky: 1516
Témy: 3 | 3
NapísalOffline : 19.09.2017 18:40 | Problém s LEFT JOIN

A prečo join a nie union? Nejaký racionálny dôvod? Pretože ty potrebuješ urobiť union, nie join.


_________________
Na súkromné správy týkajúce sa problémov, ktoré sa riešia vo fóre, neodpovedám!
Offline

Užívateľ
Užívateľ
Problém s LEFT JOIN

Registrovaný: 19.05.08
Prihlásený: 20.04.26
Príspevky: 670
Témy: 28 | 28
Bydlisko: Slovensko
NapísalOffline : 19.09.2017 18:44 | Problém s LEFT JOIN

Nabuduce si tam schemu napis sam ako som ti pisal v poste vyssie. Ak sa schema nezhoduje s tvojou tak ju prepis a hod link.
s Joinom https://www.db-fiddle.com/f/3D7EQJVtHY8dRVvVvUv438/3
s vnorenym Selectom https://www.db-fiddle.com/f/3D7EQJVtHY8dRVvVvUv438/4


 [ Príspevkov: 7 ] 


Problém s LEFT JOIN



Podobné témy

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

Problém z LEFT JOIN

v Databázy

2

806

27.06.2009 13:35

pWneD

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

problem pri LEFT OUTER JOIN

v Databázy

7

1149

24.07.2008 18:09

Triminka

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

Problém s FULL OUTER JOIN

v Databázy

2

2803

18.06.2018 11:20

SuchSoft

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

P: Left 4 Dead Bundle (Left 4 Dead, Left 4 Dead 2)

v Bazár

1

581

16.10.2012 10:03

Only Human

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

Left 4 Dead 2 Problém

v Hry a herné konzoly

3

599

21.05.2012 22:54

CHhAj7eGO

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

Problem s obtekanim (float:left)

v Frontend

2

561

10.04.2015 21:57

Jimi

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

I/K: PC Hry - Left 4 Dead, Left 4 Dead 2

v Bazár

13

817

05.10.2012 12:39

Demik

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

Problém s obtekaním obrázka float:left

v Frontend

2

766

12.02.2011 12:05

AReYco

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

MySQL join...

v Databázy

7

773

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

972

21.07.2017 18:19

lukas15

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

join 3 tables mysql

v Databázy

9

866

05.03.2010 17:32

rooobertek

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

Vyber nevyhovujucich zaznamov (JOIN)

v Databázy

1

647

26.01.2010 22:02

stenley

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

php + mysql : dvojity join

v Databázy

2

753

15.07.2011 20:28

jaji

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

Starcraft - Unable to join network!!! Help

v Hry a herné konzoly

5

901

05.08.2009 22:07

pj

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

SQL join 1 riadok (viac zaznamov)

v Databázy

4

872

14.06.2009 23:20

marek26

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

JOIN tabuliek ale iba 1 riadok z pravej

v Databázy

1

483

04.08.2013 23:00

Ďuri



© 2005 - 2026 PCforum, edited by JanoF