Re: Buscar datos en detalle

From: Hellmuth Vargas <hivs77(at)gmail(dot)com>
To: Carlos Perez <carlos(dot)perez(at)syswarp(dot)com(dot)ar>
Cc: Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org>, José Fermín Francisco Ferreras <josefermin54(at)hotmail(dot)com>, Horacio Miranda <hmiranda(at)gmail(dot)com>
Subject: Re: Buscar datos en detalle
Date: 2015-09-13 13:23:37
Message-ID: CAN3Qy4qcnepy1pLo+9q5+7Mg_3=nYt=7OVKb-DBkF78whTUrXQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Hellmuth Vargas 2015-09-13 13:27:29 Re: Buscar datos en detalle
Previous Message José Fermín Francisco Ferreras 2015-09-13 13:21:56 RE: Buscar datos en detalle