sziasztok
SELECT pilotak.pilota_nev, futamok.futamid, eredmenyek.helyezes
FROM pilotak INNER JOIN (futamok INNER JOIN eredmenyek ON futamok.id=eredmenyek.futamid) ON pilotak.id=eredmenyek.pilotaid
WHERE (futamok.futam ='Bahreini') AND (eredmenyek.helyezes)=1)
ezzel a lekérdezéssel mi ehet a baj azt írja a mysql cc, hogy:
[proba] ERROR 1064: You have an error in your SQL syntax near '(futamok INNER JOIN eredmenyek ON futamok.id=eredmenyek.futamid) ON pilotak.id=e' at line 2
lehet hogy a joinolással van baj?nem vagyok nagy pro a témában
- 2022 megtekintés
Hozzászólások
igen, a joinolassal van a baj.
cuppanj ra a mysql.com/doc-ra, es ha lehet, a valaszt ne egy uj topikba ird.
t
- A hozzászóláshoz be kell jelentkezni
SELECT pilotak.pilota_nev
FROM pilotak INNER JOIN futamok ON futamok.futamid = eredmenyek.futamid
INNER JOIN eredmenyek ON pilotak.pilotaid = eredmenyek.pilotaid
WHERE ((futamok.helyszin = 'Bahrein') AND (eredmenyek.helyezes=1))
nem szoktam a választ máshova írni...mér írnám:S
- A hozzászóláshoz be kell jelentkezni
SELECT pilotak.pilota_nev
FROM pilotak
INNER JOIN eredmenyek ON pilotak.pilotaid = eredmenyek.pilotaid
INNER JOIN futamok ON futamok.futamid = eredmenyek.futamid
WHERE ((futamok.helyszin = 'Bahrein') AND (eredmenyek.helyezes=1))
Talán így?
- A hozzászóláshoz be kell jelentkezni
így is lefut
csak azt nem értem, hogy ha kicserélem a feltételt a bahreini-t akkor besz*rik van egy olyan futam nevem hogy Magyar, de nem megy vele, elsőnek az Ausztrál Nagydíjjal próbálkoztam, de gonodoltam nem fexik neki az ékezet meg a szóköz, de nem...a Magyarral sem megy..vajon mért??
- A hozzászóláshoz be kell jelentkezni
És a fenti hibaüzenetet adja?
- A hozzászóláshoz be kell jelentkezni
nem
nem ad hibaüzit csak hogy empty row... szal lefut, csak ninc eredménye
- A hozzászóláshoz be kell jelentkezni
Ez mit mond?
select * from futamok where futamok.helyszin = 'Magyar'
Szerintem a helyszín mező lekérdezése nem ad eredményt valamiért.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
megvan a megoldás...
de nem értem...ilyenkekkl bszom el mindig, nagyonm idegsítő, helszin helyett futamot kell vizsgálni azt minnyá jó lesz...nem is értem...
- A hozzászóláshoz be kell jelentkezni
Na, nyugi... Azért van a munkaidő, hogy kitöltsük. :D
Mellesleg érdemes a queryt lépésről lépésre felépíteni. Inkább fusson le 10-szer, egyre bővülve (max. 10 perc), mint összedobni 2 perc alatt, utána keresni a hiba okát 1 óráig.
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni
szeretnék csinálni egy ponttáblázatot
a kérdésem még annyi, hogy hogy tudnám kiíratni a td-kbe a megfelelő pilóták nevét
elsőbe az elsőt másodikba a másodikat...próbálkoztam hogy bemásolom a php kódot mindegyiktf-hez persze másik feltétlell, de az nem jó
hülyeségeket ír ki, de gondolom, a befejező }-t máshova kellene tennem, mint ahogy az a klsőnél is van, de hova??? :S
$parancs = "SELECT pilotak.pilota_nev, futamok.futam
FROM pilotak INNER JOIN futamok ON futamok.futamid = eredmenyek.futamid
INNER JOIN eredmenyek ON pilotak.pilotaid = eredmenyek.pilotaid
WHERE eredmenyek.helyezes=1";
if (!mysql_query($parancs))
{
print ' error number: '.mysql_errno().' -- error message: '.mysql_error().' -- query: '.$query;
}
else
{
$eredmeny = mysql_query($parancs);
}
//$sor = mysql_fetch_array($eredmeny);
while($sor = mysql_fetch_array($eredmeny))
{
?#
#tr#
#td##? print $sor["futam"]?##/td#
#td#
#?
$parancsm = "SELECT pilotak.pilota_nev, futamok.futam
FROM pilotak
INNER JOIN futamok ON futamok.futamid = eredmenyek.futamid
INNER JOIN eredmenyek ON pilotak.pilotaid = eredmenyek.pilotaid
WHERE eredmenyek.helyezes=2";
$eredmenym = mysql_query($parancsm);
while($sorm = mysql_fetch_array($eredmenym))
{
print $sorm["pilota_nev"];
}
?#
#/td#
#td##? print $sor["pilota_nev"]?##/td#
#td##? print $sor["pilota_nev"]?##/td#
#/tr#
#?
}
?#
- A hozzászóláshoz be kell jelentkezni
A HELYEZES tábla fel van töltve a Magyar Nagydíjhoz tartozó adatokkal?
- A hozzászóláshoz be kell jelentkezni
jaja persze
- A hozzászóláshoz be kell jelentkezni
Biztos, hogy ezen - http://hup.hu/cikkek/20081201/upsz_megcsinaltuk_ujra_mysql_5.1_ga-kent_… - futtatod, nem?
-- "Bízzál Istenben és tartsd szárazon a puskaport!" - Cromwell --
-- Sayusi Ando - http://sayusi.hu --
- A hozzászóláshoz be kell jelentkezni
nem
egy régebbi sql-em van 3-as asszem, az para lehet?
- A hozzászóláshoz be kell jelentkezni
4.1 (vagy inkább 5.0) plzplzplzplzplz!!!!!
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Szervusz !
SELECT pilotanev, helyezes FROM pilotak RIGHT JOIN eredmenyek ON pilotak.id=eredmenyek.pilotaid RIGHT JOIN futamok ON futamok.id=eredmenyek.futamid WHERE (futamok.futam ='Bahreini') AND (eredmenyek.helyezes)=1;
elvileg a pilotanev csak a pilotak táblában szerepel (ha más táblába nem tettél ilyen mezőt)
A szintaktikai hiba azért volt, mert helyezés 1-e utáni bezárójel felesleges.
Én hibakeresésre a MySQL Query Browsert (is) használom,sokat segített.
[/fikázás] Az alapnál kissé összetettebb adatbázisnál 5.0.x MySQL-t használok, sok PHP-vel, eddig még csak én hibáztam [fikázás]
A Jenei Imre által írt "Triggerek, tárolt eljárások és függvények alkalmazása MySQL-ben" c könyv egy fejezete szabadon elérhető; ezt átnéztem, azt hiányolom, hogy a sportolóknál nem születési évet (vagy pontos dátumot), hanem életkort adott meg; mondjuk az életkor számítás lehetett volna egy tárolt eljárásra típuspélda {a MySQL 4.x.y user manualjában van egy mintaplélda az állatok életkor számítására - de nem tárolt eljárásként}
CSZ
- A hozzászóláshoz be kell jelentkezni
Jenei Imre, a focista? :D
--
Coding for fun. ;)
- A hozzászóláshoz be kell jelentkezni