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

Reply via email to