-1

我有一个商店类型数据库,我需要运行一个报告,在其中汇总一位客户的所有购买。

由于此数据库对存储的特殊需求,用户 ID 存储在两部分中:compID 和 userId。例如,用户的 ID 可能为“ABCD”,其中“AB”表示他们工作的公司,“CD”是他们的特定 ID,但它仍然引用了与“AB”匹配的事实它是任何其他“CD”用户值的唯一值。(我知道这是一种奇怪的做法,但需要尽可能少的用户 ID,同时仍然拥有最多的可用插槽。)

无论如何,我的问题是,当我尝试编写一个查询来汇总一个用户的购买时,我找不到从第二个表中获取额外信息的方法,例如该用户的姓名。

这是五月表。

f_purchases 表存储每笔销售数据,例如用户 ID(和他们的 compID),以及购买的价值

f_user 表包含有关用户的详细信息,例如 userID、compID、name、contact 等。

当我只选择原始数据时,此查询有效:

SELECT f_purchases.compID, f_purchases.userID, sum(f_purchases.amount) as Total FROM f_purchases GROUP BY f_purchases.compID, f_purchases.userID

但是当我尝试使用 Join 或多表查询时,我找不到从 f_user 中引入识别信息(例如名称)的方法。我想我可以得到 f_user.name 如果我有类似的东西

WHERE f_purchases.compID=f_user.compID AND f_purchases.userID=f_user.userID

我的另一个想法是我可以以某种方式使用连接来连接 ID 的两个部分,但我不知道从哪里开始。非常感谢任何帮助。

4

1 回答 1

0

我想我以前有什么问题,但在再试一次之后,它现在正确地总结了一切。这是有效的:

SELECT f_user.first, f_purchases.compID, f_purchases.userID, sum( f_purchases.amount ) AS Total
FROM f_purchases, f_user
WHERE f_purchases.compID = f_user.compID
AND f_purchases.userID = f_user.userID
GROUP BY f_purchases.compID, f_purchases.userID

很抱歉最初的帖子。

于 2013-03-18T20:25:09.267 回答