Si encuentras algún detalle que te causa duda puedes dejarnos un comentario y te responderemos rápidamente.
Solución:
Solo necesita proporcionar un alias para sus columnas agregadas en el CTE
d as (SELECT
duration,
sum(totalitems) as sumtotalitems
FROM
[DrySoftBranch].[dbo].[mnthItemWiseTotalQty] ('1') AS BkdQty
group by duration
)
[edit]
Traté de reescribir su consulta, pero incluso la suya funcionará una vez que asocie alias a las columnas agregadas en la consulta que define ‘d’.
Creo que estás buscando lo siguiente:
El primero:
select
c.duration,
c.totalbookings,
d.bkdqty
from
(select
month(bookingdate) as duration,
count(*) as totalbookings
from
entbookings
group by month(bookingdate)
) AS c
inner join
(SELECT
duration,
sum(totalitems) 'bkdqty'
FROM
[DrySoftBranch].[dbo].[mnthItemWiseTotalQty] ('1') AS BkdQty
group by duration
) AS d
on c.duration = d.duration
Segundo:
select
c.duration,
c.totalbookings,
d.bkdqty
from
(select
month(bookingdate) as duration,
count(*) as totalbookings
from
entbookings
group by month(bookingdate)
) AS c
inner join
(select
month(clothdeliverydate) 'clothdeliverydatemonth',
SUM(CONVERT(INT, deliveredqty)) 'bkdqty'
FROM
barcodetable
where
month(clothdeliverydate) is not null
group by month(clothdeliverydate)
) AS d
on c.duration = d.duration
Tuve una consulta similar y un problema similar.
SELECT
*
FROM
Users ru
LEFT OUTER JOIN
(
SELECT ru1.UserID, COUNT(*)
FROM Referral r
LEFT OUTER JOIN Users ru1 ON r.ReferredUserId = ru1.UserID
GROUP BY ru1.UserID
) ReferralTotalCount ON ru.UserID = ReferralTotalCount.UserID
Descubrí que SQL Server se estaba ahogando en el COUNT(*)
columna, y me estaba dando el error No se especificó ninguna columna para la columna 2.
Poner un alias en el COUNT(*)
la columna solucionó el problema.
SELECT
*
FROM
Users ru
LEFT OUTER JOIN
(
SELECT ru1.UserID, COUNT(*) AS -->MyCount<--
FROM Referral r
LEFT OUTER JOIN Users ru1 ON r.ReferredUserId = ru1.UserID
GROUP BY ru1.UserID
) ReferralTotalCount ON ru.UserID = ReferralTotalCount.UserID
Recuerda algo, que tienes la opción de glosar tu experiencia si diste con la respuesta.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)