質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

解決済

SQLiteで○ヶ月前の列を取得したいです

wieee
wieee

総合スコア0

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

1回答

0評価

0クリップ

35閲覧

投稿2018/04/13 04:00

前提・実現したいこと

SQLiteで、次のような2つのテーブルがあるとします。


tb_Item

idnamedate
0apple2018-02-15
1apple2018-03-20
2apple2018-04-02
3orange2018-02-12
4orange2018-03-05
5orange2018-04-07

tb_Month

idnamemonth
0apple1
1orange2

tb_Itemには、商品名と日付が入力されています。
tb_Monthには、商品名と○ヶ月を表すmonth列があります。appleは1ヶ月、orangeは2ヶ月です。
このtb_Monthに記載されている○ヶ月の数値を使って、

tb_Itemからdateの○ヶ月前の商品をSELECTする

ということをやりたいです。

試したこと

例えば、単純に2ヶ月前から本日4/13までの商品の個数を取得するには以下になります。

SQL

SELECT COUNT(name) FROM tb_Item WHERE date >= DATE('2018-04-13', '-2 months');

これをtb_Monthを使って商品ごとに○ヶ月前の個数を取得するにはどのようにクエリを基準すれば良いのでしょうか?

どうぞよろしくお願い致します!

環境:SQLite3.4

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。