gpt4 book ai didi

sql - MS Access 的 SQL 查询问题

转载 作者:行者123 更新时间:2023-12-03 02:48:01 26 4
gpt4 key购买 nike

我有一个应该在 MS Access 中使用的查询,但数据库是 SQL 数据库。当我在 SQL 环境中运行此查询时,它运行良好。但是,当在 MS Access 中运行时,我收到错误。我一开始对 SQL 知之甚少(来自 MySQL),对 MS Access 知之甚少。

该查询应该为我提供特定投标人类型中对某个项目进行投标的总人数(无论他们是否赢得该项目)、该投标人类型中赢得的项目的总价格以及投标人类型,全部用于一次拍卖。这是下面的查询。

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 告诉我:

Syntax error (missing operator) in query expression ".

然后,它突出显示 dbo_tblBidder.bidder_number 中的“mber”,其中显示:

dbo_tblItem ON dbo_tblItem.item_bidder_number = dbo_tblBidder.bidder_number

我不知道突出显示是否实际上是任何内容的一部分。

最佳答案

当您连接 2 个以上的表时,Access 需要括号,并且对它们的位置非常挑剔。 (虽然查询的数据源之一是子查询而不是实际的表,但在连接和括号方面,它的处理方式与表相同。)建议您在 Access 的查询设计器中将其构建为新查询,以查看它如何放置括号对于您连接的表。

“count”是一个保留字,因此我在查询中出现的所有位置都将该名称括在括号中,以减少混淆数据库引擎的机会。

对于 Access 数据库引擎,使用 LEFT JOIN 而不是 LEFT OUTER JOIN。

我认为这可能接近您的需要。

SELECT
Total.[count],
SUM(dbo_tblItem.item_premium + dbo_tblItem.item_pr) AS SumTotal,
dbo_tblBidder.bidder_type
FROM
(dbo_tblBidder LEFT 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 JOIN (
SELECT COUNT(bidder_type) AS [count], bidder_type
FROM dbo_tblBidder
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;

关于sql - MS Access 的 SQL 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7892053/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com