Autor Zpráva
23k
Profil
Potrebuji poradit se SQL dotazem, vyresil sjem ho pres fci a pole ale moc se mi to nelibi.
Zde je jeho podoba


$sel=mq("SELECT v.* FROM vysledky AS v where ( d_hrac =10 AND h_hrac =20 ) OR ( d_hrac =10 AND h_hrac =20 ) AND schvaleno=2");


a dostanu radek kde je ID zapasu, datum a ID domaciho hrace a hostujiciho hrace a vysledek

ja ale potrebuji i prezdivky hracu.

ty jsou v tabulce hraci
id | prezdivka |.....
10 | 23K | ....
20 | lada | ....


zkousel sem ruzne propojovaci selecty ale vyhazuje mi to jeden zapas nekolikrat a na radku je vzdy 2x jmeno domaciho , na dalsim zas hosti. :/


DIKY za help
Kajman
Profil *
možná něco takového

SELECT v.*, hd.prezdivka as d_prezdivka, hh.prezdivka as h_prezdivka FROM vysledky AS v left join hraci as hd on (v.d_hrac=hd.id) left join hraci as hh on (v.h_hrac=hh.id) where ( v.d_hrac =10 AND v.h_hrac =20 ) AND v.schvaleno=2
WertriK
Profil *
tak se jeste zeptej do tabulky "hraci" na nick podle id
Kajman
Profil *
no, ale musi dvakrat, pro kazdeho hrace zvlast
23k
Profil
hmm bohuezl to nevyhodi zadny radek
iTomB
Profil *
Chtel jsem ti poradit, ale jak jsi zacal tapetovat, tak si porad sam.
23k
Profil
a kde bych mel jako tapetovat?
iTomB
Profil *
Treba na DC HUBech ze? Dokonce na 2 a hned zdrhnes
23k
Profil
LOL tak to tezko. Jsem poue na phub.sytes.net , nesdilim nic, a mam SVUJ NICK, tak me krive neobvinuj, bud tak laskav
James
Profil *
házel sem to tam já, ale odpojil sem se z toho důvodu že bych měl moc hubů. byla to pomoc 23k a nebylo to myšlený jako flood, což si myslim že pokud někam hodim 1x jeden link - že to snad flood neni, ne? bo se pletu? :o(
Slavo
Profil *
a co priame prepojenie, je to podobne ako OUTER JOIN

SELECT v.*, d.prezdivka as d_prezdivka, h.prezdivka as h_prezdivka
FROM vysledky AS v, hraci AS d, hraci AS h
WHERE v.h_hrac = h.ID
AND v.d_Hrac = d.ID
AND ( d_hrac =10 AND h_hrac =20 ) OR ( d_hrac =10 AND h_hrac =20 ) AND schvaleno=2
iTomB
Profil *
Toomaxx
[18:31:46] <James> prosim PORADTE kdoz umite SQL
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=88 47
[18:32:54] <James> prosim PORADTE kdoz umite SQL
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=88 47
Sluni
[18:37:09] <(CZ)James> prosim PORADTE kdoz umite SQL
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=88 47
Blbce delej z nekoho jineho
23k
Profil
>> Blbce delej z nekoho jineho

jj nebudu z tebe delat blbce, jsi jim ...
James
Profil *
jasný no, ale ***** je to na jinejch hubech
klidně ti řeknu ty huby všechny.bylo jich hodně a jak řikám ***** byla to pomoc 23k, nevidim v tom nic špatnýho tak ne<>uj
James
Profil *
LOL cenzura LOL ***** mrdka **** prdel kunda píča
James
Profil *
jééé to neni žádná cenzura
iTomB
Profil *
No a jak mam asi vedet ze to tam nedavas ty pod jinym nickem?? Nehlede na to, ze jsem uz psal a zdrhnul. tak si to srovnejte nejriv u sebe
23k
Profil
Slavo
diky za snahu ale take to neni ono a navic ´jsem blbec. Spletl jsem puvodni dotaz, ma byt takto

$sel=mq("SELECT v.* FROM vysledky AS v where ( d_hrac =10 AND h_hrac =20 ) OR ( d_hrac =20 AND h_hrac =10 ) AND schvaleno=2");

// vybrat vsecky zapasy kde je DOMACI hrac 10 a HOST hrac 20 nebo opacne DOMACI 20 a host 10.

a k tomu najit prezdivku z tabulky hraci
iTomB
Profil *
Vis pokud se tam nekdo pta, tak se tam i vetsinou odpovida. A pokud hazes linky za nekoho, tak to aspon radne napis.
James
Profil *
nečekal sem na odpovědi iTomeB
iTomB
Profil *
23k docela dulezite je taky napsat strukturu tech ě tabulek, ale to uz jsem psal
James
Profil *
tak sorynky no
23k
Profil
ZAPASY -> podstatne sloupce
d_hrac | h_hrac

takze pak je treba
#zapas 1 -> 1 | 12
#zapas 8 -> 12 | 1


HRACI ->
id | prezdivka
1 | 23k
12| Frantik


a ja xci vybrat vsecky vzajemne zapasy obou hracu a k tomu selectu co mam (taha pouze idcja kracu) jeste vybrat PREZDIVKU z tab. hraci
iTomB
Profil *
1. nepouzivej * u selectu je to dost blby
2. misto join co tu pisou staci normalni spojeni
select pr1.prezdrivka, pr2.prezdivka from vysledky AS v, hraci AS pr1, hraci AS pr2, where ((d_hrac =10 AND h_hrac =20 ) OR ( d_hrac =20 AND h_hrac =10 )) AND schvaleno=2 AND d_hrac=pr1.ID AND h_hrac=pr2.ID

tohle by melo stacit
iTomB
Profil *
jeste jsem zapomel ze u tech promenych d_hrac a h_hrac ci schvaleno (to nevim odkud je) by melo byt v.
23k
Profil
po odstraneni chybek

jsem to prepsal na toto

SELECT v.*, pr1.prezdivka, pr2.prezdivka
FROM vysledky AS v, hraci AS pr1, hraci AS pr2
WHERE ( ( d_hrac =1 AND h_hrac =12 ) OR ( d_hrac =12 AND h_hrac =1 ) ) AND schvaleno =2 AND d_hrac = pr1.id AND h_hrac = pr2.id;

a uz to vali, SLAVA , dik
iTomB
Profil *
chyby - no pokud nevim jakou to ma presne strukturu, tak je to dost tezke ;-)
23k
Profil
;) mno naky preklepy carka pred WHERE ;) atd ale v poho kua a ja sem taky dementos, bze jen diky spatnej zavorkam sem puvodni select mel dobre a paks em se do toho zamotal :/


A stejne moc nechapu proc musim 2x tahat z tabulky hraci. Proc to nestaci 1x ?
iTomB
Profil *
2x protoze se spojuji radky a to by ti nikdy nevyslo, ze by se 1 radek mohl spojit s d_hrac a h_hrac
23k
Profil
Kua to je rychla odpoved ;)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0