0

これらのフィールドを持つ支払いテーブルがあります。

  1. ドシエ_id
  2. 支払われた
  3. 遅延 (すべてのフィールドは数値です)

次のエントリを含むテーブルを想像してください。

    Dossier_id ||   Year   ||     Amount    ||    Payed    || Retarded
    ==================================================================
     1000           2010           500           100          400
     2000           2007           700           500          200
     1000           2011           1200          700          500
     2000           2009           900           800          100
    ==================================================================
              Total        ||      3300          2100         600
    ==================================================================

そのテーブルの最後のセクション (合計) を計算 (のみ) するクエリを作成して、合計責任として正しい遅延率を達成するにはどうすればよいですか? (内部結合で遊んだのですが、よくわかりませんでした)

4

2 に答える 2

2

これはそれを行う必要があります:

SELECT SUM(a.amount), sum(a.payed), b.retarded
FROM table a INNER JOIN (SELECT SUM(retarded) AS retarded
               FROM table b INNER JOIN (SELECT dossier_id, MAX(year) FROM table) c ON b.dossier_id = c.dossier_id AND b.year = c.year) b ON 1 = 1

編集 (愚かなアクセス -参加がサポートされていない問題):

SELECT SUM(a.amount), sum(a.payed), b.retarded
FROM table a INNER JOIN (SELECT SUM(retarded) AS retarded
               FROM table b INNER JOIN (SELECT dossier_id, MAX(year) FROM table) c ON (b.dossier_id = c.dossier_id AND b.year = c.year)) b ON (1 = 1)
于 2013-09-17T14:01:25.453 に答える
-1

この単純なクエリは次のとおりです。

SELECT    SUM(AMOUNT), SUM(PAYED), SUM(RETARDED) FROM TABLE;
于 2013-09-17T13:16:55.013 に答える