Mam takie zapytanie:
$sql_var = "SELECT g.guildid, g.name, g.leaderguid, c.name, c.race, (SELECT COUNT(*) FROM guild_member WHERE guildid=g.guildid) FROM guild g LEFT JOIN characters c ON(c.guid=g.leaderguid) WHERE ".$sql_temp." LIMIT 50";
Tutaj wszystko dziala OK. Ale jesli chce je rozszerzyc o round(level).
Kod
$sql_var = "SELECT g.guildid, g.name, g.leaderguid, c.name, c.race, (SELECT COUNT(*) FROM guild_member WHERE guildid=g.guildid), (SELECT round(level) FROM characters gc LEFT JOIN guild_member gm ON(gm.guildid=g.guildid) WHERE gc.guid=gm.guid) FROM guild g LEFT JOIN characters c ON(c.guid=g.leaderguid) WHERE ".$sql_temp." LIMIT 50";
To wyskakuje mi error ze nie znane pole g.guildid.
To wyskakuje mi error ze nie znane pole g.guildid.
Jakies pomysly ? - z góry dziekuje za naprowadzenie.
Odrazu mowie ze podzapytanie typu:
Kod
[b](SELECT round(level) FROM characters WHERE guid=(SELECT guid FROM guild_member WHERE guildid=g.guildid))[/b]
odpada bo :
Kod
Warning: mysql_query() [function.mysql-query]: Unable to save result set in C:\Program Files\WebServ\httpd\jarmory\libary\sql.class.php on line 55
Error: Subquery returns more than 1 row
Error: Subquery returns more than 1 row
poniewaz mam cachowanie zapytan SQL ktore nie obsluzy tablicy dwu wymiarowej. Dlatego ten blad dla podzapytania.