-1

1 人の顧客によるすべての購入を合計するレポートを実行する必要がある店舗タイプのデータベースがあります。

ストア用のこのデータベースの特別なニーズにより、ユーザー ID は、compID と userId の 2 つの部分に保存されます。たとえば、ユーザーの ID が「ABCD」の場合、「AB」は勤務先の会社を表し、「CD」は特定の ID ですが、「AB」の作成と一致するという事実を参照しますこれは、他の「CD」ユーザー値とは異なる一意の値です。(私はこれが一種の奇妙な方法であることを知っていますが、利用可能なスロットを最大限に保ちながら、ユーザー ID をできるだけ短くする必要がありました。)

とにかく、私の問題は、あるユーザーによる購入を合計するクエリを作成しようとすると、そのユーザーの名前など、2 番目のテーブルから追加情報を取得する方法が見つからないことです。

これが5月のテーブルです。

f_purchases テーブルには、ユーザー ID (およびその compID) や購入額などのデータとともに各販売が格納されます。

f_user テーブルには、userID、compID、名前、連絡先など、ユーザーに関する詳細情報があります。

生データのみを選択すると、このクエリが機能します。

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

しかし、結合または複数のテーブル クエリを使用しようとすると、f_user から名前などの識別情報を取り込む方法が見つかりません。次のようなものがあれば f_user.name を取得できると思います

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

もう 1 つの考えは、連結を使用して ID の 2 つの部分を結合できるということでしたが、どこから始めればよいかわかりませんでした。どんな助けでも大歓迎です。

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 に答える