Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: kosis157 en 5 Septiembre 2007, 22:19 PM

Título: combiancion de tablas SQL Error
Publicado por: kosis157 en 5 Septiembre 2007, 22:19 PM
Bueno estoy haciendo un trabajo y al combinar dos tablas(usuaris y alumnes)
no me deja registrar os dejo los dos consultas:
Código (sql) [Seleccionar]
CREATE TABLE usuaris(
id INT(3) PRIMARY KEY,
usuari VARCHAR(50) UNIQUE,
pass TEXT,
carrec VARCHAR(15) DEFAULT 'alumne',
foreign key(id) REFERENCES alumne(id)
);
CREATE TABLE alumne(
id INT(3) PRIMARY KEY AUTO_INCREMENT,
nom varchar(50),
cognom1 varchar(50),
cognom2 varchar(50),
curs int(1),
) AUTO_INCREMENT = 1;

y la consulta es:
Código (php) [Seleccionar]
$sql="SELECT `alumne.id`,`alumne.nom`,`alumne.cognom1`,`alumne.cognom2`,`usuaris.pass` FROM alumne,usuaris";
$sql .=" WHERE `alumne.id`=`usuaris.id` AND `usuaris.usuari` LIKE '".$user."' LIMIT 1";


me dice que no encuentra el usuario y el usuario esta ya en la base de datos correctamente luego porve de ejecutarlo con PHPMYADMIN y me dice este error:
consulta SQL :

SELECT `alumne.id` , `alumne.nom` , `alumne.cognom1` , `alumne.cognom2` , `usuaris.pass`
FROM alumne, usuaris
WHERE `alumne.id` = `usuaris.id` AND `usuaris.usuari`
LIKE 'mtrepat'
LIMIT 1

MySQL ha dicho:

#1054 - La columna 'alumne.id' en field list es desconocida
Título: Re: combiancion de tablas SQL Error
Publicado por: Ertai en 6 Septiembre 2007, 02:49 AM
Prueba de quitar las comillas simples para cada campo que consultes.
Título: Re: combiancion de tablas SQL Error
Publicado por: дٳŦ٭ en 6 Septiembre 2007, 03:11 AM
Es que para eso esta JOIN ON de Sql, entras muy similar pero vas tabla por tabla. Aparte que es más "limpio" de hacer el query.

http://dev.mysql.com/doc/refman/5.0/es/join.html

Suerte
Título: Re: combiancion de tablas SQL Error
Publicado por: kosis157 en 7 Septiembre 2007, 15:09 PM
Cita de: Ertai en  6 Septiembre 2007, 02:49 AM
Prueba de quitar las comillas simples para cada campo que consultes.
Sips sacando las comillas simples y sólo dejandolas en el campo de BD.