Foro de elhacker.net

Programación => 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
  1. CREATE TABLE usuaris(
  2. id INT(3) PRIMARY KEY,
  3. usuari VARCHAR(50) UNIQUE,
  4. pass TEXT,
  5. carrec VARCHAR(15) DEFAULT 'alumne',
  6. FOREIGN KEY(id) REFERENCES alumne(id)
  7. );
  8. CREATE TABLE alumne(
  9. id INT(3) PRIMARY KEY AUTO_INCREMENT,
  10. nom VARCHAR(50),
  11. cognom1 VARCHAR(50),
  12. cognom2 VARCHAR(50),
  13. curs INT(1),
  14. ) AUTO_INCREMENT = 1;
y la consulta es:
Código
  1. $sql="SELECT `alumne.id`,`alumne.nom`,`alumne.cognom1`,`alumne.cognom2`,`usuaris.pass` FROM alumne,usuaris";
  2. $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:
Código:
 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
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.