Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-14 Por tema Alvaro Herrera
Carlos Perez escribió:

> 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 el código
> tiene un indice podes probar lo lo que te comenté escribiendo delante de
> ambas consultas explain plan...

IN no es una función, y se optimiza diferente dependiendo de lo que haya
dentro.

En el caso de Francisco yo habría tratado de usar "naranjas NOT ANY ="
como dijo alguien, y a la derecha poner un ARRAY( .. ) que incluya los
ID de productos de cada formulario.

-- 
Álvaro Herrerahttp://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

-
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


RE: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema José Fermín Francisco Ferreras
Necesito visualizar los formularios donde no se facturaron ninguna naranja.

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: Mon, 14 Sep 2015 01:18:01 +1200
> 
> No es eso lo que quieres ?
> 
> On 9/14/2015 12:39 AM, Horacio Miranda wrote:
> > Creo que tu modelo de datos tiene un problema.
> >
> > On 9/14/2015 12:25 AM, José Fermín Francisco Ferreras wrote:
> >> Existen un problema con esa consulta:
> >>
> >> Si las naranjas aparecen de primero y luego otra fruta, me selecciona
> >> ese formulario como si no hubiera naranjas, pero, si no fueron
> >> facturadas las naranjas en dicho formulario.
> >>
> >> 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: Mon, 14 Sep 2015 00:14:35 +1200
> >>  >
> >>  >
> >>  >
> >>  > 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
> >>  > > > >
> >>  > > > >

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Carlos Perez
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 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
 > > > FRO

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Hellmuth Vargas
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
>>>  

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Horacio Miranda



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


RE: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema José Fermín Francisco Ferreras
select *from cabecera x inner join detalles y on 
(x.numero_formulario=y.numero_formulario)where y.codigo_producto not in (1)
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
  

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Hellmuth Vargas
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

RE: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema José Fermín Francisco Ferreras
Existen un problema con esa consulta:
Si las naranjas aparecen de primero y luego otra fruta, me selecciona ese 
formulario como si no hubiera naranjas, pero, si no fueron facturadas las 
naranjas en dicho formulario.

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: Mon, 14 Sep 2015 00:14:35 +1200
> 
> 
> 
> 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
> >  > > > > consul

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Horacio Miranda

Creo que tu modelo de datos tiene un problema.

On 9/14/2015 12:25 AM, José Fermín Francisco Ferreras wrote:

Existen un problema con esa consulta:

Si las naranjas aparecen de primero y luego otra fruta, me selecciona
ese formulario como si no hubiera naranjas, pero, si no fueron
facturadas las naranjas en dicho formulario.

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: Mon, 14 Sep 2015 00:14:35 +1200
 >
 >
 >
 > 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!!
 > > > > >

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Horacio Miranda

No es eso lo que quieres ?

On 9/14/2015 12:39 AM, Horacio Miranda wrote:

Creo que tu modelo de datos tiene un problema.

On 9/14/2015 12:25 AM, José Fermín Francisco Ferreras wrote:

Existen un problema con esa consulta:

Si las naranjas aparecen de primero y luego otra fruta, me selecciona
ese formulario como si no hubiera naranjas, pero, si no fueron
facturadas las naranjas en dicho formulario.

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: Mon, 14 Sep 2015 00:14:35 +1200
 >
 >
 >
 > 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 Fer

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Horacio Miranda
Para tu modelo de datos creo que algo como esto debiera entregar lo que 
estas buscando ( pero insisto que debieras normalizarlo ).


select *
  from cabecera x,detalles y
where
  x.numero_formulario=y.numero_formulario and
  x.numero_formulario not in (select distinct numero_formulario from 
detalles where codigo_producto = 1) ;


On 9/14/2015 12:39 AM, Horacio Miranda wrote:

Creo que tu modelo de datos tiene un problema.

On 9/14/2015 12:25 AM, José Fermín Francisco Ferreras wrote:

Existen un problema con esa consulta:

Si las naranjas aparecen de primero y luego otra fruta, me selecciona
ese formulario como si no hubiera naranjas, pero, si no fueron
facturadas las naranjas en dicho formulario.

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: Mon, 14 Sep 2015 00:14:35 +1200
 >
 >
 >
 > 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

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Gerardo Herzig
Mmmm bueno que tal con
select numero_formulario from
   (select numero_formulario, array_agg(producto) as array_productos_vendidos 
group by 1
   ) foo
where 'Naranja' != ALL(array_productos_vendidos);
?

(Luego discutimos sobre performance :)
Gerardo

- Mensaje original -
> De: "José Fermín Francisco Ferreras" <josefermi...@hotmail.com>
> Para: "Lista PostgreSQL" <pgsql-es-ayuda@postgresql.org>
> Enviados: Sábado, 12 de Septiembre 2015 19:52:25
> Asunto: [pgsql-es-ayuda] Buscar datos en detalle
> 
> 
> 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"
> 
> 
> 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


RE: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema José Fermín Francisco Ferreras
Excelente!!
Les agradezco a todos (en especial a Horacio Miranda) por tomarse su tiempo en 
ayudarme con este dolor de cabeza.
P.D.: Horacio tienes toda la razón con relación a la normalización de la tabla, 
tomaré ese punto en cuenta!!



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: Mon, 14 Sep 2015 09:20:43 +1200
> 
> Para tu modelo de datos creo que algo como esto debiera entregar lo que 
> estas buscando ( pero insisto que debieras normalizarlo ).
> 
> select *
>from cabecera x,detalles y
> where
>x.numero_formulario=y.numero_formulario and
>x.numero_formulario not in (select distinct numero_formulario from 
> detalles where codigo_producto = 1) ;
> 
> On 9/14/2015 12:39 AM, Horacio Miranda wrote:
> > Creo que tu modelo de datos tiene un problema.
> >
> > On 9/14/2015 12:25 AM, José Fermín Francisco Ferreras wrote:
> >> Existen un problema con esa consulta:
> >>
> >> Si las naranjas aparecen de primero y luego otra fruta, me selecciona
> >> ese formulario como si no hubiera naranjas, pero, si no fueron
> >> facturadas las naranjas en dicho formulario.
> >>
> >> 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: Mon, 14 Sep 2015 00:14:35 +1200
> >>  >
> >>  >
> >>  >
> >>  > 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
> >>  > > > >
> >>  > > > > nume

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-13 Por tema Horacio Miranda
Si te interesa aprender bien modelamiento y consultas, lee el libro Lan 
times SQL.


Es un libro viejo, pero aprendi mucho leyendo ese libro cuando estaba en 
la universidad. creo que este es el link. 
http://www.amazon.com/LAN-Times-Guide-SQL-Series/dp/007882026X



On 9/14/2015 12:44 PM, José Fermín Francisco Ferreras wrote:

Excelente!!

Les agradezco a todos (en especial a Horacio Miranda) por tomarse su
tiempo en ayudarme con este dolor de cabeza.

P.D.: Horacio tienes toda la razón con relación a la normalización de la
tabla, tomaré ese punto en cuenta!!




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


[pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema José Fermín Francisco Ferreras
Buenas tardes!!
Estoy teniendo problemas con una consulta. Resulta que necesito consultar en 
dos tablas:-Maestronumero_formulario**productorfechahoramonto_total
detallesnumero_formulario*-codigo_productoproductocantidad
Resulta que necesito buscar  en cuales formularios no se facturó el producto 
llamado "Naranja"
Lista de producto que se venden:naranjaperapiñasandia


ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 
  

RE: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema José Fermín Francisco Ferreras
Ejemplo de lo que se necesita:
numero_formulario: 1Productor: 64fecha: 05/09/2015hora: 08:56:00Monto_Total: 
5000.00numero_formulario: 1codigo_producto: 1Producto: NaranjaCantidad: 5
numero_formulario: 2Productor: 2fecha: 06/09/2015hora: 10:00:00Monto_Total: 
14500.00numero_formulario: 2codigo_producto: 2Producto: PeraCantidad: 
2numero_formulario: 2codigo_producto: 1Producto: NaranjaCantidad: 3
numero_formulario: 3Productor: 10fecha: 05/09/2015hora: 13:30:00Monto_Total: 
4500.00numero_formulario: 3codigo_producto: 3Producto: PiñaCantidad: 1
numero_formulario: 4Productor: 11fecha: 10/09/2015hora: 13:50:00Monto_Total: 
11800.00numero_formulario: 4codigo_producto: 3Producto: PiñaCantidad: 
1numero_formulario: 4codigo_producto: 2Producto: PeraCantidad: 
1numero_formulario: 4codigo_producto: 4Producto: SandiaCantidad: 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.
  

Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema Horacio Miranda

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


Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema Carlos Perez

W

Enviado con Aquamail para Android
http://www.aqua-mail.com


El 12 de septiembre de 2015 19:53:48 José Fermín Francisco Ferreras 
 escribio:



Buenas tardes!!
Estoy teniendo problemas con una consulta. Resulta que necesito consultar 
en dos tablas:-Maestronumero_formulario**productorfechahoramonto_total

detallesnumero_formulario*-codigo_productoproductocantidad
Resulta que necesito buscar  en cuales formularios no se facturó el 
producto llamado "Naranja"

Lista de producto que se venden:naranjaperapiñasandia


ing. José Fermín Francisco Ferreras
San Francisco de Macorís, Rep. Dom.



Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema Horacio Miranda



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


Re: [pgsql-es-ayuda] Buscar datos en detalle

2015-09-12 Por tema Carlos Perez
Supongo que si tenes codificado, dicho código estara indexado y tiene fk 
con la tabla de productos.  Ahi tu consulta va a ser performante.
Si haces un ilike dentro de una consulta el motor hace full scan. Tarda 
mas, no usa los indices .. en fin. No te conviene buscar por parte de 
la descripcion salvo que sea exacta y este indexada por descripción.


Enviado con Aquamail para Android
http://www.aqua-mail.com


El 12 de septiembre de 2015 22:35:24 Horacio Miranda  
escribio:





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