combiancion de tablas SQL Error

Iniciado por kosis157, 5 Septiembre 2007, 22:19 PM

0 Miembros y 1 Visitante están viendo este tema.

kosis157

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

Ertai

Prueba de quitar las comillas simples para cada campo que consultes.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

дٳŦ٭

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


Con sangre andaluza :)


kosis157

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.