我有一个商店类型数据库,我需要运行一个报告,其中我总计了一个客户的所有购买。
由于此数据库对商店的特殊需求,用户ID分为两部分:compID和userId。例如,用户可能具有“ABCD”ID,其中“AB”表示他们工作的公司,“CD”是他们的特定ID,但它仍然引用它与“AB”制作相匹配的事实。它是来自任何其他“CD”用户值的唯一值。 (我知道这是一种奇怪的方式,但是需要的是尽可能地缩短用户ID,同时仍然拥有最多的插槽。)
无论如何,我的问题是,当我尝试编写一个查询来累计我的一个用户的购买时,我找不到从第二个表中提取额外信息的方法,例如该用户的名字。
这可能是表格。
f_purchases表存储每笔销售的数据,例如userID(及其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的标识信息,例如name。我想如果我有类似
的话,我就能得到f_user.nameWHERE f_purchases.compID=f_user.compID AND f_purchases.userID=f_user.userID
我的另一个想法是,我可以以某种方式使用连接来加入ID的两个部分,但我不知道从哪里开始。任何帮助非常感谢。
答案 0 :(得分: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
对不起,首先发帖。