次の4つのテーブルを作成しました。
CREATE TABLE `Name` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `name` INTEGER );
insert into `Name` VALUES(1,'test1');
insert into `Name` VALUES(2,'test2');
CREATE TABLE "Table1" ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `nameID` INTEGER, `amnt1` INTEGER, `amnt2` INTEGER, `amnt3` INTEGER, `amnt4` INTEGER, `amnt5` INTEGER, `amnt6` INTEGER, `entryDate` TEXT );
INSERT INTO Table1 VALUES(NULL,1,1,1,1,1,1,1,'2018-04-01');
INSERT INTO Table1 VALUES(NULL,2,1,1,1,1,1,1,'2018-05-01');
INSERT INTO Table1 VALUES(NULL,1,1,1,1,1,1,1,'2018-05-06');
CREATE TABLE "Table2" ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `nameID` INTEGER, `amnt1` INTEGER, `amnt2` INTEGER, `amnt3` INTEGER, `amnt4` INTEGER, `amnt5` INTEGER, `amnt6` INTEGER, `entryDate` TEXT );
INSERT INTO Table2 VALUES(NULL,1,1,1,1,1,1,1,'2018-04-02');
INSERT INTO Table2 VALUES(NULL,1,1,1,1,1,1,1,'2018-05-05');
INSERT INTO Table2 VALUES(NULL,2,2,2,2,2,2,1,'2018-05-06');
CREATE TABLE "Table3" ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `nameID` INTEGER, `amnt1` INTEGER, `amnt2` INTEGER, `amnt3` INTEGER, `amnt4` INTEGER, `amnt5` INTEGER, `amnt6` INTEGER, `entryDate` TEXT );
INSERT INTO Table3 VALUES(NULL,1,1,1,1,1,1,1,'2018-04-02');
INSERT INTO Table3 VALUES(NULL,1,1,1,1,1,1,1,'2018-05-05');
Table2(たとえばTable1.amnt1 + Table2.amnt1)列と一致するTable1列データを追加しようとしています。次に、集計のためにTable3を追加します。
私は専門的なデータベース管理者ではありません、私は試しました:
SELECT sum(amnt1),sum(amnt2),sum(amnt3),sum(amnt4),sum(amnt5),sum(amnt6)
FROM (select
Table1.amnt1+Table2.amnt1 as amnt1,Table1.amnt2+Table2.amnt2 as amnt2,Table1.amnt3+Table2.amnt3 as amnt3,
Table1.amnt4+Table2.amnt4 as amnt4,Table1.amnt5+Table2.amnt5 as amnt5,Table1.amnt6+Table2.amnt6 as amnt6
FROM Table1 JOIN Table2 ON Table1.nameID=Table2.nameID
where Table1.entryDate between '2018-05-01' and '2018-05-20'
UNION ALL
select amnt1,amnt2,amnt3,amnt4,amnt5,amnt6
FROM Table3
where entryDate between '2018-05-01' and '2018-05-20' )
計算が間違っています。リレーショナルサブクエリでentryDateを使用していないことがわかりました。クエリが正しくないようです。
SQL FIDDLEデモ
回答 1 件
関連記事
- テキストシャイニング効果が正しく機能しない方法これを修正するにはどうすればよいですか
- 関数のパーセンテージ計算が機能していません
- ifステートメントが文字列データで正しく機能しない:Excel
- リンクリストにノードを追加する機能が機能しない| c
- Mongo DB find()関数がノードjsで機能していません
- 関数を呼び出すときにCSRFトークンが適切に処理されない
- border-collapseプロパティが原因でテーブルの境界半径が機能しない
- styledisplay ==" none"が正しく機能しない
- js関数を使用してJSONファイルからHTMLテーブルにデータをロードする際の問題
- メディアクエリが正しく機能しないのはなぜですか?
関連した質問
- MSSQLからSQLiteへの構文
- SQLLIKEがクエリ後にスペースで機能しない
- 大文字と小文字を区別せずにGROUPBYを使用するSQLite
- Entity Framework Core5でカスタム列を使用してSQLクエリを作成する方法
- Sqliteクエリ:SELECTFROMは0の結果を返します
- SQLiteで文字列の途中に文字を挿入するにはどうすればよいですか?
- コード「ORDERBYrating DESC」がコードでエラーを引き起こすのはなぜですか?
- 時間の時間帯の合計値を取得するSqliteクエリ
- SQLiteでこれら2つのテーブルを1つに結合する方法
- SQL:複数の値のセット間でクエリを実行しますか?
私は単に
UNION ALL
を拡張します 部:SQLFiddleデモ
編集:次に、その場所として単に0を入力します(ここでは、amt7の例はtable2でのみ使用可能です)。