Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Es posible al mismo tiempo Sum(...), Group y Join ? (https://www.clubdelphi.com/foros/showthread.php?t=28695)

gluglu 29-12-2005 13:02:57

Es posible al mismo tiempo Sum(...), Group y Join ?
 
Hola Amigos,

Intento hacer este Select en InterBase 7.5
Código:

Select Sum(BO.QUANTITY) as TOT_OBJECTS, BO.CATEGORYNO, BO.SUBCATEGORYNO,
C1.CODENAME as CATNAME, C2.CODENAME as SUBCATNAME
from BOOKINGS_OBJECTSTYPE BO
  left join CATEGORIES C1
        on BO.CATEGORYNO = C1.CATEGORYNO
        and C1.SUBCATEGORYNO = 0
  left join CATEGORIES C2
        on BO.CATEGORYNO = C2.CATEGORYNO
        and BO.SUBCATEGORYNO = C2.SUBCATEGORYNO
where BO.BOOKINGNO = 1
group by BO.CATEGORYNO, BO.SUBCATEGORYNO

y me da error 'Invalid Column Reference'.

Tengo Habitaciones de una Categoría y SubCategoría, con un Nombre de Código para cada uno en otra tabla. Lo que espero es obtener el total (QUANTITY) de Habitaciones para cada Cat/SubCat diferente, junto con el nombre clave.

Por separado me funcionan ambos Select que detallo a continuación :
Código:

Select Sum(BO.QUANTITY) as TOT_OBJECTS, BO.CATEGORYNO, BO.SUBCATEGORYNO
from BOOKINGS_OBJECTSTYPE BO
where BO.BOOKINGNO = 1
group by BO.CATEGORYNO, BO.SUBCATEGORYNO
 
TOT_OBJECTS  CATEGORYNO  SUBCATEGORYNO 
===========  ==========  ============= 
1          1                1                         
5          1                2                         
10          1                3                         
1          2                1

Código:

Select BO.CATEGORYNO, BO.SUBCATEGORYNO,
C1.CODENAME as CATNAME, C2.CODENAME as SUBCATNAME
from BOOKINGS_OBJECTSTYPE BO
  left join CATEGORIES C1
        on BO.CATEGORYNO = C1.CATEGORYNO
        and C1.SUBCATEGORYNO = 0
  left join CATEGORIES C2
        on BO.CATEGORYNO = C2.CATEGORYNO
        and BO.SUBCATEGORYNO = C2.SUBCATEGORYNO
where BO.BOOKINGNO = 1
 
QUANTITY  CATEGORYNO  SUBCATEGORYNO  CATNAME  SUBCATNAME 
========  ==========  =============  =======  ========== 
1          1                1                  HABT        INDI               
2          1                2                  HABT        DOBL               
10          1                3                  HABT        JRSU               
1          1                2                  HABT        DOBL               
2          1                2                  HABT        DOBL               
1          2                1                  SALN        SAL1               

Gracias por vuestra ayuda y Feliz Año Nuevo a todos !

gluglu 29-12-2005 15:22:57

Ya lo solucioné. De esta manera me funciona.
Código:

Select Sum(BO.QUANTITY) as TOT_OBJECTS, BO.CATEGORYNO, BO.SUBCATEGORYNO,
C1.CODENAME as CATNAME, C2.CODENAME as SUBCATNAME
from BOOKINGS_OBJECTSTYPE BO
  left join CATEGORIES C1
        on BO.CATEGORYNO = C1.CATEGORYNO
        and C1.SUBCATEGORYNO = 0
  left join CATEGORIES C2
        on BO.CATEGORYNO = C2.CATEGORYNO
        and BO.SUBCATEGORYNO = C2.SUBCATEGORYNO
where BO.BOOKINGNO = 1
group by BO.CATEGORYNO, BO.SUBCATEGORYNO, C1.CODENAME, C2.CODENAME



La franja horaria es GMT +2. Ahora son las 10:18:49.

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