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
>>>
>>

Responder a