sql >> データベース >  >> RDS >> Sqlserver

トランザクション テーブルから消費されたクレジットを表示するクエリ

    これを試してください:

    WITH Credits_added AS (
        SELECT CreditLogId, OccurredOn, credits
        , SUM(credits) OVER (ORDER BY CreditLogId) - credits AS b --before
        , SUM(credits) OVER (ORDER BY CreditLogId) AS a --after
        , GivenByUserCode
        FROM @CreditLogs
        WHERE Credits > 0)
    , Credits_spent AS (
        SELECT CreditLogId, OccurredOn, credits
        , SUM(credits) OVER (ORDER BY CreditLogId) * -1 + credits AS b
        , SUM(credits) OVER (ORDER BY CreditLogId) * -1 AS a
        FROM @CreditLogs
        WHERE Credits < 0)
    SELECT s.CreditLogId, s.OccurredOn
    , CASE WHEN a.a > s.a THEN s.a ELSE a.a END - CASE WHEN a.b > s.b THEN a.b ELSE s.b END AS Credits 
    , a.GivenByUserCode
    FROM Credits_added AS a
    INNER JOIN Credits_spent AS s ON a.a > s.b AND s.a > a.b
    


    1. general_logテーブルを削除しましたが、どうすれば再作成できますか?

    2. Railsは同時入力で一意性が失敗することを検証します

    3. JDBCを使用してX509でMySQLに接続するにはどうすればよいですか?

    4. PHPでMySQLAPIを混在させることはできますか?