Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

consulta a tabla mysql

Estas en el tema de consulta a tabla mysql en el foro de Mysql en Foros del Web. Hola a todos. les cuento que estoy haciendo un sistema de facturas. tengo las siguientes tablas CREATE TABLE roles ( rol_codi VARCHAR(20) NOT NULL, rol_desc ...
  #1 (permalink)  
Antiguo 06/03/2008, 07:45
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
consulta a tabla mysql

Hola a todos. les cuento que estoy haciendo un sistema de facturas. tengo las siguientes tablas

CREATE TABLE roles (
rol_codi VARCHAR(20) NOT NULL,
rol_desc VARCHAR(45) NOT NULL,
PRIMARY KEY(rol_codi)
)

CREATE TABLE facturas (
fact_nume VARCHAR(45) NOT NULL,
proveedores_prove_rut VARCHAR(45) NOT NULL,
cuentas_cuen_codi INTEGER UNSIGNED NULL,
fact_fech_ingr DATE NOT NULL,
fact_desc TEXT NOT NULL,
fact_monto INTEGER UNSIGNED NOT NULL,
fact_fech_envi DATE NULL,
PRIMARY KEY(fact_nume),
INDEX facturas_FKIndex1(cuentas_cuen_codi),
INDEX facturas_FKIndex2(proveedores_prove_rut),
FOREIGN KEY(cuentas_cuen_codi)
REFERENCES cuentas(cuen_codi)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY(proveedores_prove_rut)
REFERENCES proveedores(prove_rut)
ON DELETE CASCADE
ON UPDATE CASCADE
)

CREATE TABLE asignacion (
asig_codi INTEGER UNSIGNED NOT NULL,
facturas_fact_nume VARCHAR(45) NOT NULL,
roles_rol_codi VARCHAR(20) NOT NULL,
rol_entr INTEGER UNSIGNED NULL,
rol_gast INTEGER UNSIGNED NULL,
rol_otro INTEGER UNSIGNED NULL,
PRIMARY KEY(asig_codi),
INDEX asignacion_FKIndex1(roles_rol_codi),
INDEX asignacion_FKIndex2(facturas_fact_nume),
FOREIGN KEY(roles_rol_codi)
REFERENCES roles(rol_codi)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY(facturas_fact_nume)
REFERENCES facturas(fact_nume)
ON DELETE CASCADE
ON UPDATE CASCADE
)

en el sistema muestro los datos de la tabla facturas. mi pregunta es como obtengo los nombres de los responsables. la tabla asignacion es la relacion entre facturas y roles. en asignacion tengo el codigo de los responsables, lo que necesito es obtener el nombre de los responsables.

el sistema lo estoy realizando en php con mysql.

de antemano muchas gracias
  #2 (permalink)  
Antiguo 06/03/2008, 08:06
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: consulta a tabla mysql

Si el nombre del responsable es "rol_desc":

select f.*, r.rol_desc
from facturas f
join asignacion a on f.fact_nume = a.facturas_fact_nume
join roles r on r.rol_codi = a.roles_rol_codi;

Deberias darle un repaso a tus tablas, los codigos / claves primarias deberian ser numeros.
Si el codigo es alfanumerico, crea un numerico que sea clave primaria.

Un saludo
  #3 (permalink)  
Antiguo 06/03/2008, 08:20
 
Fecha de Ingreso: enero-2008
Mensajes: 33
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: consulta a tabla mysql

claro, los nombres de los responsables son rol_desc pero como podria obtener todos los datos de facturas y junto a esto el nombre del responsable por cada factura ?
  #4 (permalink)  
Antiguo 07/03/2008, 05:08
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: consulta a tabla mysql

ya te he puesto la consulta!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:41.