Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 15-04-2011
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Que barbaridad !!

Me acabo de dar cuenta de lo tonto que he sido al crear este hilo ....

Mil disculpas Caro ! Está claro que uno se complica la vida y después al ponerlo en un hilo y querer simplificar el hilo al máximo, no se dá uno cuenta de lo que escribe ....

A ver .... la cosa es más complicada que lo explicado, pero entonces ya volvemos a enreversar tanto la explicación que probablemente nadie me entienda

Hago un Select de una tabla con un montón de campos, con una group by de varios campos y una condición posterior en un having by.

Código SQL [-]
Select BO.BOOKINGNO, BO.CATEGORYNO, BO.SUBCATEGORYNO,
  C2.PAXNO, SP_AI.OUT_COUNTER
from BOOKINGS_OBJECTSTYPE BO
left join CATEGORIES C1
  on C1.CATEGORYNO     = BO.CATEGORYNO
  and C1.SUBCATEGORYNO = 0
left join CATEGORIES C2
  on C2.CATEGORYNO     = BO.CATEGORYNO
  and C2.SUBCATEGORYNO = BO.SUBCATEGORYNO
left join SP_PAXDETAIL_AUTOINC(BO.BOOKINGNO, BO.CATEGORYNO, BO.SUBCATEGORYNO) SP_AI
  on BO.BOOKINGNO      = BO.BOOKINGNO
  and BO.CATEGORYNO    = BO.CATEGORYNO
  and BO.SUBCATEGORYNO = BO.SUBCATEGORYNO
where C1.OBJECTRESERVATION = 0
group by BO.BOOKINGNO, BO.CATEGORYNO, BO.SUBCATEGORYNO, C2.PAXNO,
  SP_AI.OUT_COUNTER
having Sum(BO.QUANTITY) - (Select Count(BRL.CATEGORYNO) from BOOKINGS_ROOMINGLIST BRL
                           where BRL.CATEGORYNO  = BO.CATEGORYNO
                           and BRL.SUBCATEGORYNO = BO.SUBCATEGORYNO
                           and BRL.BOOKINGNO     = BO.BOOKINGNO) > 0

Este Select busca en BOOKINGS_OBJECTSTYPE todos los registros y los agrupa por BOOKINGNO, CATEGORYNO y SUBCATEGORYNO.

Cada uno de esos registros tiene una cantidad determinada (QUANTITY) que agrupo a su vez en Sum(QUANTITY), y además obtengo un número de registros en otra tabla adicional relacionada también.

Esta diferencia entre ambos valores, la aplico internamente en un SP denominado SP_PAXDETAIL_AUTOINC para que de cada BOOKINGNO, CATEGORYNO y SUBCATEGORYNO me devuelva N registros dependiendo de esa diferencia anterior.

Y a todo estos resultados, ahora me toca buscar en otra tabla diferente otros registros relacionados por otro campo, y si existen, los devuelvo con sus campos para los N primeros registros que obtuve en la consulta anterior.

Demasiado complicado para entenderlo rápidamente ...

Por eso intenté simplificar al máximo el hilo y no me dí cuenta de la trivialidad que estaba preguntado !!!
__________________
Piensa siempre en positivo !
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
usando LEFT JOIN o RIGHT JOIN alcides SQL 8 03-05-2007 17:35:46
left join e inner join duda Patricio SQL 0 26-04-2007 22:06:43
JOIN un poco raro AzidRain SQL 1 07-02-2006 08:30:13
LEFT OUTER JOIN e INNER JOIN Juntos alcides SQL 3 08-07-2005 18:06:27


La franja horaria es GMT +2. Ahora son las 17:37:53.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi