【发布时间】:2015-05-05 14:06:28
【问题描述】:
在其他答案中,我查看了以下内容:
The multi-part identifier could not be bound
尽管使用该答案,但我仍然无法进行分组。
以下查询有效:
string query = @"SELECT
ud.FirstName,
ud.LastName,
p.Name AS Product,
p.ItemNumber,
sc.AmountPurchased * sc.Price AS Total,
sc.DatePurchased,
sc.IsInCart AS [NotShipped]
FROM
ShoppingCarts sc INNER JOIN
UserDetails ud ON sc.ClientID = ud.Guid Left
OUTER JOIN
Products p ON sc.ProductID = p.ProductsId
WHERE sc.DatePurchased >= @date1
AND sc.DatePurchased <= @date2
AND sc.IsInCart = @shipped ";
但是当我尝试这样分组时:
string query = @"SELECT ud.LastName, sc.DatePurchased, SUM(Total)
FROM(
SELECT
ud.FirstName,
ud.LastName,
p.Name AS Product,
p.ItemNumber,
sc.AmountPurchased * sc.Price AS Total,
sc.DatePurchased,
sc.IsInCart AS [NotShipped]
FROM
ShoppingCarts sc INNER JOIN
UserDetails ud ON sc.ClientID = ud.Guid Left
OUTER JOIN
Products p ON sc.ProductID = p.ProductsId
WHERE sc.DatePurchased >= @date1
AND sc.DatePurchased <= @date2
AND sc.IsInCart = @shipped
) AS result
GROUP BY ud.LastName, sc.DatePurchased";
我得到“无法绑定多部分标识符ud.LastName等”
【问题讨论】:
-
这些字段不再是外部选择中别名表的一部分。只需删除外部
select和group by中的ud和sc前缀即可。 -
好吧,错误消失了,但现在当我知道有数据要返回时,它没有给我任何数据......
-
stackoverflow.com/questions/206558/… 请参考这个我认为它会帮助你
-
Aakash,你是说我不应该使用别名?