0

次の SQLite テーブルがあります。

transaction_amount     transaction_date
50                     09/06/2012
50                     09/06/2012
75                     09/07/2012

transaction_mount 列の合計金額を取得したいと考えています。SQL クエリを次のように記述した場合:

SELECT transaction_amount,transaction_date, SUM(transaction_amount) AS 
Total FROM prepaid_tbl WHERE playerID = 17 ORDER BY id DESC

次の結果が得られます。

 transaction_amount     transaction_date  Total
 75                     09/07/2012        175

合計とともに 3 行すべてが返される必要があります。したがって、SQL ステートメントを次のように記述すると、次のようになります。

SELECT transaction_amount,transaction_date,(SELECT SUM(transaction_amount) 
FROM prepaid_tbl WHERE playerID = 17)Total FROM prepaid_tbl WHERE 
playerID = 17 ORDER BY id DESC

探している結果が得られました。

transaction_amount     transaction_date    Total
50                     09/06/2012          175
50                     09/06/2012          175
75                     09/07/2012          175

だから、私の簡単な質問は、これが私の望む結果を得るための最良の方法/実践であるということです. 私は決して SQL の専門家ではないので、最初のメソッドが目的の結果を返さない理由についてはまだ確信が持てません。どんな洞察も確かに高く評価されます。

前もって感謝します。

4

1 に答える 1

2

cartesian join問題を解決するためにできること

SELECT  a.transaction_amount,
        a.transaction_date,
        b.Total
FROM prepaid_tbl  a,
        (
            SELECT  SUM(transaction_amount) AS  Total 
            FROM prepaid_tbl 
            WHERE playerID = 17 
        ) b
WHERE a.playerID = 17 

SQLFiddle デモ

于 2012-09-08T07:48:01.903 に答える