Comunidad de diseño web y desarrollo en internet online

consultar 3 tablas diferentes y se duplican resultados

Citar            
MensajeEscrito el 01 Jul 2012 06:09 pm
Hola que tal, estoy tratando de hacer una consulta a una base de datos, alli tengo 3 tablas: mcb_user, mcb_invoice_items y invoice_items_amount.

Las 2 ultimas tablas tienen relacion entre si pues comparten un id pero la primera no.lo que hice fue que a users le cree un campo llamado igual invoice_item_id como para que se relacionen.

Me ha funcionado a medias pues he hecho un intento y me duplica los resultados.

asi es que lo hago:

Código PHP :

$query = mysql_query ( "SELECT * FROM mcb_invoice_items, mcb_invoice_item_amounts, mcb_users WHERE mcb_invoice_items.invoice_item_id = mcb_invoice_item_amounts.invoice_item_id  and  invoice_item_custom_1 = 'aprobado' ");


que puedo hacer para evitar que se dupliquen?

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 02 Jul 2012 12:20 pm
Estás haciendo participar de la consulta a la tabla mcb_users pero no estás relacionando su id con el id que dices que le creaste en la clásula WHERE.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Jul 2012 03:59 pm
justamente estoy tratando de hacer que el numero de la cotizacion (de donde viene todo) pase a esa casilla que he creado, pero no lo logro.

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 02 Jul 2012 04:11 pm
Pues sería:

Código MySQL :

SELECT * FROM mcb_invoice_items, mcb_invoice_item_amounts, mcb_users WHERE mcb_invoice_items.invoice_item_id = mcb_invoice_item_amounts.invoice_item_id  AND  
AND mcb_users.invoice_item_id = mcb_invoice_items.invoice_item_id
invoice_item_custom_1 = 'aprobado'

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Jul 2012 04:54 pm
voy a probar, pense que no se podia usar 2 veces el AND.

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 02 Jul 2012 10:49 pm
me da este error :

Message: mysql_fetch_array() expects parameter 1 to be resource, boolean given

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 02 Jul 2012 10:50 pm
asi hhago el fetch


WHILE ($columnas = mysql_fetch_array($query)):

$invoice_id = $columnas ['invoice_id'];
$invoice_item_custom_2 = $columnas ['invoice_item_custom_2'];
$item_name = $columnas ['item_name'];
$item_description = $columnas ['item_description'];
$item_qty = $columnas ['item_qty'];
$item_price = $columnas ['item_price'];
$item_total = $columnas ['item_total'];
$invoice_item_custom_1 = $columnas ['invoice_item_custom_1'];

Por unasemana

Claber

166 de clabLevel



 

Venezuela

chrome
Citar            
MensajeEscrito el 03 Jul 2012 12:31 pm
Tienes un error en la sentencia SQL:

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 04 Jul 2012 10:14 pm
Utiliza join y el id para igual las tablas y no repetir los campos: =)

Por rodrigo.pichinual

2 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.