Re: Buscar datos en detalle

From: Luis Fernando Lopez Aguilar <flopezg333(at)gmail(dot)com>
To: Hellmuth Vargas <hivs77(at)gmail(dot)com>
Cc: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>, Horacio Miranda <hmiranda(at)gmail(dot)com>, José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>, Carlos Perez <carlos(dot)perez(at)syswarp(dot)com(dot)ar>
Subject: Re: Buscar datos en detalle
Date: 2015-09-13 14:45:02
Message-ID: CADf1K_-s4Y41mcTKnZn7SDDY+cSeK05jKia9u=n8KNFRqfYPwA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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" <hivs77(at)gmail(dot)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" <hivs77(at)gmail(dot)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(dot)perez(at)syswarp(dot)com(dot)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 <hmiranda(at)gmail(dot)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: josefermin54(at)hotmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
>>>>> > From: hmiranda(at)gmail(dot)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: josefermin54(at)hotmail(dot)com; pgsql-es-ayuda(at)postgresql(dot)org
>>>>> > > > From: hmiranda(at)gmail(dot)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(at)postgresql(dot)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(at)postgresql(dot)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(at)postgresql(dot)org)
>>> Para cambiar tu suscripción:
>>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
>>>
>>

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gerardo Herzig 2015-09-13 17:41:17 Re: ayuda con OIDS en pg_class
Previous Message Hellmuth Vargas 2015-09-13 13:27:29 Re: Buscar datos en detalle