Есть 2 таблицы. 1 tblBidder и 1 tblItem. Они разделяют 1 поле, которое устанавливает связь между полями в каждой таблице. Это bidder_number (для tblBidder) и item_bidder_number (для tblItem). Затем у них есть соответствующее поле bidder_sale_id (для tblBidder) и item_sale_id (для tblItem). Это поле предназначено для группы товаров, которые продаются за 1 заседание. Таким образом, у вас может быть 20 различных предметов, продаваемых по отдельности, но все они имеют одинаковый идентификатор продажи, потому что они продаются в один и тот же день.
Я пытаюсь получить отчет об общем количестве претендентов по типу претендента, которые были зарегистрированы на аукционе 235, а также узнать, сколько было продано за этот аукцион для этой конкретной группы. Вот что у меня есть для запроса SQL:
SELECT COUNT(dbo.tblBidder.bidder_type) AS TotalRegistrants, SUM(dbo.tblItem.item_premium + dbo.tblItem.item_pr) AS SumTotal,
dbo.tblBidder.bidder_type
FROM dbo.tblItem INNER JOIN
dbo.tblBidder ON dbo.tblItem.item_bidder_number = dbo.tblBidder.bidder_number AND dbo.tblItem.item_sale_id = dbo.tblBidder.bidder_sale_id
WHERE (dbo.tblItem.item_sale_id IN (235))
GROUP BY dbo.tblBidder.bidder_type
Этот запрос возвратил неверное количество владельцев регистрации, но правильную общую сумму:
TotalRegistrants SumTotal bidder_type
10 3760.0000 Absentee Bidder
133 173870.6250 Floor Bidder
77 81300.0000 Internet Bidder
29 34862.2500 Mail Bidder
100 242790.2500 Phone Bidder
Это просто для того, чтобы получить общее количество зарегистрированных:
SELECT COUNT(bidder_type) AS TotalBidders, bidder_type
FROM dbo.tblBidder
WHERE (bidder_sale_id = 235)
GROUP BY bidder_type
, который возвращается правильно в:
TotalBidders bidder_type
41 Absentee Bidder
79 Floor Bidder
60 Internet Bidder
35 Mail Bidder
82 Phone Bidder
Если я попытаюсь присоединить таблицу элементов к этому последнему запросу, даже если я не выберу новые столбцы, TotalBidders вернет числа в тысячах. Любая помощь будет принята с благодарностью.