![]() |
SELECT dificil
tengo una tabla tickets en ella guardo
id, numero, desc_producto, cliente, cantidad, precio, cabecera, idcabecera en realidad guardo mas cosas pero para el caso esto es lo que nos biene bien conocer. lo de cabecera es o 1 ó 0 dependiendo si es una venta o un conjunto de unas cuantas ventas, es decir, cuando yo hago un ticket creo un registro en la tabla donde guardo el nombre del cliente (cliente) y el precio todal, y ademas pongo cabecera a 1 (porque esta seria la cabecera) y luego meto en la tabla por cada uno de los productos que tenga este ticket un registro con los datos del producto y su precio. pero lo hago de manera que el id del ticket cabecera quede almacenado en cada uno de los productos que lleva este ticket. Espero haberme explicado. Bueno el problema esque ahora quiero hacer un select de manera que me cree una tabla donde tenga el nombre del producto, su precio, el nombre del cliente que lo compro. El problema esta enque el producto y su precio estan guardados en los registros que no son cabecera y el cliente en los que si. Como hago con el SELECT para que me cree esta tabla con los 3 campos sabiendo que en los tickets que no son cabecera guardo el id del que si es cabecera?. Por ejemplo: id numero desc_producto cliente cantidad precio cabecera idcabecera 1 1 manolo 50,00 1 2 calcetines blancos 2 10,00 0 1 3 camiseta 3 10,00 0 1 4 2 pepe 700,00 1 5 trompeta 5 100,00 0 4 6 caja 2 100,00 0 4 queda mal pero podeis ver este ejemplo. http://www.subir-imagenes.com/ver_imagen.php?img=130419 |
Necesitas hacer un join de la tabla consigo misma:
http://www.desarrolloweb.com/articulos/2355.php Saludos |
Gracias por responder pero mira la que pone como resultado de las consulta:
consulta SQL: SELECT cliente, desc_producto, pvp, fecha FROM ticket INNER JOIN ticket ON ticket.id = ticket.idticket LIMIT 0 , 30; MySQL ha dicho: #1066 - Not unique table/alias: 'ticket' |
GRACIAS.
SOLUCIONADO .... SELECT * FROM ticket AS ticketcabecera INNER JOIN ticket ON ticketcabecera.id = ticket.idticket; lo que no se es como lo tendria que haber hecho para coger unos campos de la tabla en vez de todos con *; |
Cita:
|
La franja horaria es GMT +2. Ahora son las 10:38:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi