Autor Zpráva
mata.lan
Profil *
Snažím se spojit dvě tabulky, vzhledem k tomu, že mají stejné názvy sloupců (navíc se počet sloupců může měnit), zkouším použít aliasy, vyhazuje mi to ale chybu "Unknown column 'opt_zbozi_vse.sloupec0' in 'field list'". Kde mám chybu?

$prejmenovani="opt_zbozi_vse.sloupec0 AS sloupec1_0, opt_zbozi_dod.sloupec0 AS sloupec2_0";
for ($i=1; $i<=$pocetradku; $i++) {
	$prejmenovani.=", opt_zbozi_vse.sloupec".$i." AS sloupec1_".$i.", opt_zbozi_dod.sloupec".$i." AS sloupec2_".$i;
}
$result=mysql_query("SELECT $prejmenovani
	FROM opt_zbozi_vse 
	LEFT JOIN opt_zbozi_dod 
	ON opt_zbozi_vse.sloupec0 = opt_zbozi_dod.sloupec0 
	") or die (mysql_error());
Joker
Profil
v tabulce "opt_zbozi_vse" neexistuje sloupec jménem "sloupec0"
mata.lan
Profil *
Jen pro upřesnění, používám MySql 5.0 a php 5.0.
Dotaz jsem pokládal i jako
"SELECT *, $prejmenovani  ..."
, výsledek stejný
mata.lan
Profil *
v tabulce "opt_zbozi_vse" neexistuje sloupec jménem "sloupec0"

on existuje, proto mi to nejde do hlavy
nightfish
Profil
mata.lan
on existuje, proto mi to nejde do hlavy
kdyby existoval, tak mysql zřejmě nenapíše tu chybovou hlášku...
nicméně pošli nám tedy strukturu těch tabulek + vygenerovanou podobu dotazu (tzn. aby všechny proměnné byly nahrazeny skutečnými hodnotami)
mata.lan
Profil *
Dotaz:
SELECT opt_zbozi_vse.sloupec0 AS sloupec1_0, opt_zbozi_dod.sloupec0 AS sloupec2_0, opt_zbozi_vse.sloupec1 AS sloupec1_1, opt_zbozi_dod.sloupec1 AS sloupec2_1, opt_zbozi_vse.sloupec2 AS sloupec1_2, opt_zbozi_dod.sloupec2 AS sloupec2_2, opt_zbozi_vse.sloupec3 AS sloupec1_3, opt_zbozi_dod.sloupec3 AS sloupec2_3, opt_zbozi_vse.sloupec4 AS sloupec1_4, opt_zbozi_dod.sloupec4 AS sloupec2_4, opt_zbozi_vse.sloupec5 AS sloupec1_5, opt_zbozi_dod.sloupec5 AS sloupec2_5, opt_zbozi_vse.sloupec6 AS sloupec1_6, opt_zbozi_dod.sloupec6 AS sloupec2_6, opt_zbozi_vse.sloupec7 AS sloupec1_7, opt_zbozi_dod.sloupec7 AS sloupec2_7, opt_zbozi_vse.sloupec8 AS sloupec1_8, opt_zbozi_dod.sloupec8 AS sloupec2_8 FROM opt_zbozi_vse LEFT JOIN opt_zbozi_dod ON opt_zbozi_vse.sloupec0 = opt_zbozi_dod.sloupec0


tabulka opt_zbozi_vse
"id","dodavatel","sloupec0","sloupec1","sloupec2","sloupec4","sloupec 3","sloupec5","sloupec6","sloupec7","sloupec8"
"1","100mega","MD400VD256","V-Data 256MB 400MHz DDR Non-ECC CL3 DIMM",NULL,NULL,"226",,"+","C4310000",NULL
"2","100mega","MD400AD256","A-Data 256MB 400MHz DDR Non-ECC CL3 DIMM",NULL,NULL,"230",,"+","C4310001",NULL
"3","100mega","MD400AD256(D)","A-Data 2x256MB 400MHz DDR Non-ECC CL3 DIMM",NULL,NULL,"440",,"+","C4310002",NULL
"4","100mega","MD400VD512","V-Data 512MB 400MHz DDR Non-ECC CL3 DIMM",NULL,NULL,"426",,"+","C4310003",NULL
"5","100mega","MD400AD512","A-Data 512MB 400MHz DDR Non-ECC CL3 DIMM",NULL,NULL,"470",,"+","C4310004",NULL


Tabulka opt_zbozi_dod
"sloupec0","sloupec1","sloupec2","sloupec4","sloupec3","sloupec5","sl oupec6","sloupec7","sloupec8"
"MD400VD256","100mega","Levi","Levi","100mega","100mega","100mega","Le vi","Levi"
"MD400AD256","100mega","Levi","Levi","100mega","100mega","100mega","Le vi","Levi"
"MD400AD256(D)","100mega","Levi","Levi","100mega","100mega","100mega", "Levi","Levi"
"MD400VD512","100mega","Levi","Levi","100mega","100mega","100mega","Le vi","Levi"
"MD400AD512","100mega","Levi","Levi","100mega","100mega","100mega","Le vi","Levi"


Výsledek:
Unknown column 'sloupec1_0' in 'field list'

Když uzavřu názvy tabulek a sloupců do uvozovek (`opt_zbozi_vse.sloupec0`AS sloupec1_0), tak to vypíše:
Unknown column 'opt_zbozi_vse.sloupec0' in 'field list'

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: