Foros del Web » Programando para Internet » PHP »

Vista que me saca producto cartesiano cómo lo evito?

Estas en el tema de Vista que me saca producto cartesiano cómo lo evito? en el foro de PHP en Foros del Web. tengo una tabla con 5 registros y quiero mostrar todo tal cual en un listado, pero claro, hay campos que sale el código correspondiente y ...
  #1 (permalink)  
Antiguo 10/06/2012, 03:45
 
Fecha de Ingreso: febrero-2012
Ubicación: Madrid
Mensajes: 48
Antigüedad: 12 años, 9 meses
Puntos: 1
Vista que me saca producto cartesiano cómo lo evito?

tengo una tabla con 5 registros y quiero mostrar todo tal cual en un listado, pero claro, hay campos que sale el código correspondiente y su descripción está en otra tabla, por lo que quiero crear una vista con los contenidos de esa tabla, y donde tenga un código, pues le meto su descripción así me muestra todo en texto.

Logro crear la vista con todos los campos bien, pero sólo son 5 registros, y me saca muchísimos, ya que me hace el producto cartesiano que se llama, no? esta es la vista, me falla está claro, la parte del where, cómo lo puedo hacer? gracias

Código PHP:
create view prueba4 as select PRESUPUESTOS.cod_pres CODPRESESTADOS.descripcion ESTADOPRESUPUESTOS.cod_tipo_pres CODTIPOPRESCLIENTES.nombre CLIENTEPRESUPUESTOS.descripcion DESCRIPCION,
PRESUPUESTOS.precio_coste PRECIO_COSTEPRESUPUESTOS.importe IMPORTEPRESUPUESTOS.direccion_montaje DIRMONTAJEPROVEEDORES.nombre PROVEEDORPRODUCTOS.denom PRODUCTOSUB_CAT1.denom SUBCAT1,
SUB_CAT2.denom SUBCAT2

from ESTADOS
PRESUPUESTOSCLIENTESPROVEEDORESPRODUCTOSSUB_CAT1SUB_CAT2 where
ESTADOS
.cod_estado PRESUPUESTOS.cod_estado CLIENTES.cod_cliente PRESUPUESTOS.cod_cliente &
PROVEEDORES.cod_prov PRESUPUESTOS.cod_prov &  PRODUCTOS.cod_prod PRESUPUESTOS.cod_prod &
SUB_CAT1.cod_subcat1 =PRESUPUESTOS.cod_subcat1 
  #2 (permalink)  
Antiguo 10/06/2012, 05:46
 
Fecha de Ingreso: febrero-2012
Ubicación: Madrid
Mensajes: 48
Antigüedad: 12 años, 9 meses
Puntos: 1
Respuesta: Vista que me saca producto cartesiano cómo lo evito?

Me contesto yo mismo para el que le valga.

create view prueba69 as select PRES.cod_pres CODPRES, EST.descripcion ESTADO, PRES.cod_tipo_pres CODTIPOPRES, CLI.nombre CLIENTE, PRES.descripcion DESCRIPCION,
PRES.precio_coste PRECIO_COSTE, PRES.importe IMPORTE, PRES.direccion_montaje DIRMONTAJE, PROV.nombre PROVEEDOR, PROD.denom PRODUCTO, CAT1.denom SUBCAT1,CAT2.denom SUBCAT2

from PRESUPUESTOS PRES
inner join CLIENTES CLI on CLI.cod_cliente = PRES.cod_cliente
inner join PROVEEDORES PROV on PROV.cod_prov = PRES.cod_prov
inner join PRODUCTOS PROD on PROD.cod_prod = PRES.cod_prod
inner join SUB_CAT1 CAT1 on CAT1.cod_subcat1 = PRES.cod_subcat1
inner join SUB_CAT2 CAT2 on CAT2.cod_subcat1 = PRES.cod_subcat2
inner join ESTADOS EST on EST.cod_estado = PRES.cod_estado

Etiquetas: cartesiano, producto, registro, tabla, vistas
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 21:51.