Consulta MySQL

Hola:
Estoy haciendo una aplicación en DreamWeaver, con phpMyAdmin, tengo tres tablas, una que se llama Usuarios, Productos, Pedidos, entonces quiero relacionar el Id del usuario con el Id que estaría en Pedidos y el campo ID de la tabla Productos con el Id_Producto que estaría en la tabla Pedidos.
No se como hacer la relación, si me pudiera ayudar con esto se lo agradecería.
Buenas Tardes.

1 respuesta

Respuesta
1
Ok, pero creo que necesito un poco más de información, más que nada los campos de cada tabla, te adjunto un ejemploy me dices si te sirve o no...
En este caso creare vistas para crear relaciones o Joins.
Tabla usuarios
     id_usuario
     Nombre
     Departamento
Tabla pedidos
    id_pedido
    id_usuario
    id_producto
    fecha_pedido
Tabla productos
    id_producto
    descripcion_prd
creo una vista que contenga el id_usuari, id_producto e id_pedido
CREATE VIEW vu_pedidosRealizados
      AS
         SELECT usuarios.id_usuario, usuarios.nombre,
                      pedidos.id_pedido, pedidos.fecha_pedido,
                      productos.descripcion_prod
          FROM
                     usuarios, pedidos, productos
         WHERE
                     usuarios.id_usuario=pedidos.id_usuario
          AND
                     productos.id_producto=pedidos.id_producto;
Este codigo genera una vista/consulta que te devolveria los datos siguientes al ejecutarla asi
SELECT * from vu_pedidosRealizados;
id_usuario=1
usuario=jalvarado
id_pedido=2345
fecha_pedido=18/09/2008
descripcion_prod=pluma de colores
ETC...
Obviamente puedes filtrar la información
SELECT * FROM vu_pedidosRealizados where id_usuario = 5;
Espero sea esto lo que quieres, ¿cualquier cosa me avisas?
Hola de nuevo:
Ps hice lo ke decia en tu correo, pero ps me mando un error. En la BD tengo las siguientes tablas:
Usuarios: id_usuario, password, nombre, a_paterno, a_materno, direccion, telefono, fec_nac, sexo
Productos: id, descripción, precio, existencias, presentación.
Administrador:id, password.
Y cree una cuarta tabla llamada Pedidos, (la verdad la cual cree sin saber que onda con las relaciones)
esta tabla tiene los campos: id_ped, id_usuario, nombre, a_paterno, id_prod.
Pensando obviamente en que el id_usuario, nombre, a_paterno tuvieran relación con el id_usuario, nombre, a_parteno de la tabla Usuarios y el id_prod tuviera una relación con id de la tabla Productos.
Entonces metí la siguiente sentencia:
CREATE VIEW pedidos_ped AS SELECT usuarios.id_usuario, usuarios.nombre, usuarios.a_paterno, productos.id,
FROM usuarios, productos
WHERE usuarios.id_usuario = pedido.id_usuario
AND productos.id = pedidos.id_prod
Y ps me dijo esto:
MySQL said:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM 'usuarios, productos' WHERE usuarios.id_usuario=pedido.id_usuario AND produ' at line 1
Pero en si, ¿no se si eso de las vistas sean las relaciones o como?
Me estoy ayudando del phpMyAdmin 2.5.9
Gracias por la ayuda.
Una Vista puede proporcionarte la información relacionada en manera de reporte... y creo que me equivoque al mandarte el código y también tu error si es que es así como lo pusiste, es que seleccionaste las tablas usuarios y productos y luego hiciste un JOIN con usuarios. id_usuario, pedidos. Id_pedido... nunca mencionaste en el FROM que la tabla pedido también la usarías en la relación.
Prueba este:
create view vu_pedidos
AS
select * from usuarios inner join pedidos on usuarios.id_usuario=pedidos.id_usuario;
despues cuando quieras sacar un reporte mas filtrado solo haces un select
select * from vu_pedidos where id_usuario = '5';, como ejemplo, te adjunto mi msn por si quieres que te ayude en vivo
[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas