我有这个查询是应该在MS Access中使用,但数据库是一个SQL数据库。当我在SQL环境中运行这个查询时,它完美地工作。但是,在MS Access中运行时,出现错误。我从一开始就不了解SQL(来自MySQL),甚至不了解MS Access。MS访问SQL查询问题
该查询应该给我一个投标人类型中对某件商品(无论他们是否赢得)投标的总人数,该投标人类型中赢得的物品的总价格以及投标人类型,全部用于单一拍卖。以下是下面的查询。
SELECT Total.count, SUM(dbo_tblItem.item_premium + dbo_tblItem.item_pr) AS SumTotal, dbo_tblBidder.bidder_type
FROM dbo_tblBidder LEFT OUTER JOIN
dbo_tblItem ON dbo_tblItem.item_bidder_number = dbo_tblBidder.bidder_number AND
dbo_tblItem.item_sale_id = dbo_tblBidder.bidder_sale_id LEFT OUTER JOIN
(SELECT COUNT(bidder_type) AS count, bidder_type
FROM dbo_tblBidder AS tblBidder_1
WHERE (bidder_sale_id = 235)
GROUP BY bidder_type) AS Total ON dbo_tblBidder.bidder_type = Total.bidder_type
WHERE (dbo_tblBidder.bidder_sale_id = 235)
GROUP BY dbo_tblBidder.bidder_type, Total.count
ORDER BY dbo_tblBidder.bidder_type
的MS Access告诉我:
语法错误(缺少操作员)在查询表达式从dbo_tblBidder.bidder_number MBER “它说:”
然后,它突出。”:
dbo_tblItem ON dbo_tblItem.item_bidder_number = dbo_tblBidder.bidder_number
我不知道突出显示是否实际上是否包含任何内容。
噢,我的天哪,这工作!你是我的新英雄〜非常感谢你 – James
“你的查询的一个数据源是一个子查询,而不是一个真正的表” - 这是什么SQL标准调用一个“派生表”并进一步指定“一个表是一个基表,一个查看表或一个派生表”。 – onedaywhen
但是,使用Access的查询设计器的另一面是生成的SQL代码经常verbose和(([full] [of])(([pointless])(([brackets] and [parens])))),让人难以阅读。 – onedaywhen