select * from cabecera where not exists (select * from cabecera x, detalles y where x.numero_formulario=y.numero_formulario and y.producto=naranja); El sep 13, 2015 9:27 AM, "Hellmuth Vargas" <hiv...@gmail.com> escribió:
> Hola lista > > Me falto un group by :-P > > Select * > > from cabecera x inner join detalles y on > (x.numero_formulario=y.numero_formulario) join ( > Select y.numero_formulario from detalles as y group by y.numero_formulario > Except > Select y.numero_formulario from detalles as y where y.codigo_producto not > in (1) group by y.numero_formulario ) as z on y.numero_formulario = > z.numero_formulario > El sept. 13, 2015 8:23 AM, "Hellmuth Vargas" <hiv...@gmail.com> escribió: > >> Buenos días Lista >> >> Verificar con esta >> >> Select * >> >> from cabecera x inner join detalles y on >> (x.numero_formulario=y.numero_formulario) join ( >> Select y.numero_formulario from detalles as y group by 1 >> Except >> Select y.numero_formulario from detalles as y where y.codigo_producto not >> in (1)) as z on y.numero_formulario = z.numero_formulario >> El sept. 13, 2015 7:43 AM, "Carlos Perez" <carlos.pe...@syswarp.com.ar> >> escribió: >> >>> Perdon no puse código porque estoy respondiendo del celular y tengo >>> dedos de morcilla. Prometo que en cuanto agarre una pc escribo. >>> El query de francisco es correcto pero faltaria buscarle la vuelta para >>> usar = y <> reemplazando el in() que en definitiva es una función.si >>> <http://xn--funcin-fxa.si> el código tiene un indice podes probar lo lo >>> que te comenté escribiendo delante de ambas consultas explain plan... >>> Lo que comento es para que una vez hecha tu consulta te olvides para >>> siempre de la misma y no tengas problemas futuros si esas tablss crecen con >>> millones de registros. >>> Espero haber sido claro, disculpen lo escueto pero igual de cada parte >>> de lo escrito la comunidad dedico capitulos enteros que son mejores que >>> esta explicacion que solo busca orientar. >>> >>> Enviado con Aquamail para Android >>> http://www.aqua-mail.com >>> >>> >>> El 13 de septiembre de 2015 09:15:55 Horacio Miranda <hmira...@gmail.com> >>> escribio: >>> >>> >>>> >>>> On 9/13/2015 11:31 PM, José Fermín Francisco Ferreras wrote: >>>> >>>>> select * >>>>> from cabecera x inner join detalles y on >>>>> (x.numero_formulario=y.numero_formulario) >>>>> where y.codigo_producto not in (1) >>>>> >>>>> >>>> select * >>>> from cabecera x,detalles y >>>> where >>>> x.numero_formulario=y.numero_formulario and >>>> y.codigo_producto not in (1) ; >>>> >>>> >>>> Prueba con esto por favor. >>>> >>>> Pero lo hace mal, ya que lo que hace es excluirme del listado los >>>>> formularios donde aparecen las naranjas. >>>>> >>>>> Y lo que se desea seleccionar los formularios donde no existen naranjas >>>>> facturadas. >>>>> >>>>> >>>>> >>>>> ing. José Fermín Francisco Ferreras >>>>> San Francisco de Macorís, Rep. Dom. >>>>> >>>>> >>>>> > Subject: Re: [pgsql-es-ayuda] Buscar datos en detalle >>>>> > To: josefermi...@hotmail.com; pgsql-es-ayuda@postgresql.org >>>>> > From: hmira...@gmail.com >>>>> > Date: Sun, 13 Sep 2015 15:25:32 +1200 >>>>> > >>>>> > Copia y pega lo que tienes de tu SQL, que problema tienes ? >>>>> > >>>>> > On 9/13/2015 2:12 PM, José Fermín Francisco Ferreras wrote: >>>>> > > Ejemplo de lo que se necesita: >>>>> > > >>>>> > > numero_formulario: 1 >>>>> > > Productor: 64 >>>>> > > fecha: 05/09/2015 >>>>> > > hora: 08:56:00 >>>>> > > Monto_Total: 5000.00 >>>>> > > numero_formulario: 1 >>>>> > > codigo_producto: 1 >>>>> > > Producto: Naranja >>>>> > > Cantidad: 5 >>>>> > > >>>>> > > numero_formulario: 2 >>>>> > > Productor: 2 >>>>> > > fecha: 06/09/2015 >>>>> > > hora: 10:00:00 >>>>> > > Monto_Total: 14500.00 >>>>> > > numero_formulario: 2 >>>>> > > codigo_producto: 2 >>>>> > > Producto: Pera >>>>> > > Cantidad: 2 >>>>> > > numero_formulario: 2 >>>>> > > codigo_producto: 1 >>>>> > > Producto: Naranja >>>>> > > Cantidad: 3 >>>>> > > >>>>> > > numero_formulario: 3 >>>>> > > Productor: 10 >>>>> > > fecha: 05/09/2015 >>>>> > > hora: 13:30:00 >>>>> > > Monto_Total: 4500.00 >>>>> > > numero_formulario: 3 >>>>> > > codigo_producto: 3 >>>>> > > Producto: Piña >>>>> > > Cantidad: 1 >>>>> > > >>>>> > > numero_formulario: 4 >>>>> > > Productor: 11 >>>>> > > fecha: 10/09/2015 >>>>> > > hora: 13:50:00 >>>>> > > Monto_Total: 11800.00 >>>>> > > numero_formulario: 4 >>>>> > > codigo_producto: 3 >>>>> > > Producto: Piña >>>>> > > Cantidad: 1 >>>>> > > numero_formulario: 4 >>>>> > > codigo_producto: 2 >>>>> > > Producto: Pera >>>>> > > Cantidad: 1 >>>>> > > numero_formulario: 4 >>>>> > > codigo_producto: 4 >>>>> > > Producto: Sandia >>>>> > > Cantidad: 6 >>>>> > > >>>>> > > Cuando ejecute la consulta debería desplegar los resultados >>>>> > > correspondientes a los formularios #3 y #4, ya que en esos no se >>>>> facturó >>>>> > > ninguna naranja. >>>>> > > >>>>> > > Nota: Este ejemplo lo represento como si hubiera hecho un join de >>>>> las >>>>> > > tablas. >>>>> > > >>>>> > > >>>>> > > >>>>> > > ing. José Fermín Francisco Ferreras >>>>> > > San Francisco de Macorís, Rep. Dom. >>>>> > > >>>>> > > >>>>> > > > Subject: Re: [pgsql-es-ayuda] Buscar datos en detalle >>>>> > > > To: josefermi...@hotmail.com; pgsql-es-ayuda@postgresql.org >>>>> > > > From: hmira...@gmail.com >>>>> > > > Date: Sun, 13 Sep 2015 13:34:03 +1200 >>>>> > > > >>>>> > > > >>>>> > > > >>>>> > > > On 9/13/2015 10:52 AM, José Fermín Francisco Ferreras wrote: >>>>> > > > > Buenas tardes!! >>>>> > > > > >>>>> > > > > Estoy teniendo problemas con una consulta. Resulta que >>>>> necesito >>>>> > > > > consultar en dos tablas: >>>>> > > > > -Maestro >>>>> > > > > numero_formulario** >>>>> > > > > productor >>>>> > > > > fecha >>>>> > > > > hora >>>>> > > > > monto_total >>>>> > > > > >>>>> > > > > detalles >>>>> > > > > numero_formulario*- >>>>> > > > > codigo_producto >>>>> > > > > producto >>>>> > > > > cantidad >>>>> > > > > >>>>> > > > > Resulta que necesito buscar en cuales formularios no se >>>>> facturó el >>>>> > > > > producto llamado "Naranja" >>>>> > > > > >>>>> > > > >>>>> > > > SELECT >>>>> > > > distinct numero_formulario >>>>> > > > FROM >>>>> > > > detalles >>>>> > > > WHERE >>>>> > > > producto <> 'Naranja'; >>>>> > > > >>>>> > > > Esto es lo que necesitas ? >>>>> > > > >>>>> > > > > Lista de producto que se venden: >>>>> > > > > naranja >>>>> > > > > pera >>>>> > > > > piña >>>>> > > > > sandia >>>>> > > > > >>>>> > > > > >>>>> > > > > >>>>> > > > > ing. José Fermín Francisco Ferreras >>>>> > > > > San Francisco de Macorís, Rep. Dom. >>>>> > >>>>> > - >>>>> > Enviado a la lista de correo pgsql-es-ayuda >>>>> (pgsql-es-ayuda@postgresql.org) >>>>> > Para cambiar tu suscripción: >>>>> > http://www.postgresql.org/mailpref/pgsql-es-ayuda >>>>> >>>> >>>> - >>>> Enviado a la lista de correo pgsql-es-ayuda ( >>>> pgsql-es-ayuda@postgresql.org) >>>> Para cambiar tu suscripción: >>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda >>>> >>> >>> >>> >>> - >>> Enviado a la lista de correo pgsql-es-ayuda ( >>> pgsql-es-ayuda@postgresql.org) >>> Para cambiar tu suscripción: >>> http://www.postgresql.org/mailpref/pgsql-es-ayuda >>> >>