teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

条件に付いて追加しました

2019/02/18 11:31

投稿

julieta
julieta

スコア13

title CHANGED
File without changes
body CHANGED
@@ -39,7 +39,8 @@
39
39
 
40
40
  並びカラムが必要な理由は行数が多く100万行ほどあり更新頻度は1日一回で問い合わせの頻度は1日に100回ほどでいろいろな条件が組み合わされるため一度テーブルを作ってしまってからSELECTクエリなどで動かしたほうが動作が早いと思ったのが理由です。
41
41
 
42
- 条件というのは例えば
42
+ 条件というのは例えば日付と仕入れ先idで絞って表示した場合に1行で6仕入先分の価格の目安がわかるので直感的に見やすい。
43
+ 並びカラムで検索することによって6仕入先の価格変動の傾向が見やすいといったところを考えています。
43
44
 
44
45
  並びカラムのルールは日付と商品id別で絞り
45
46
  仕入先id順で並べた価格の
@@ -51,4 +52,10 @@
51
52
 
52
53
  update文をどのように記述したらいいでしょうか?
53
54
  拙い説明文で申し訳ありませんが
55
+ よろしくお願いいたします。
56
+
57
+ GROUP_CONCATでも表示上は実現できそうでしたが
58
+ 追加した後変更されるデータではないので
59
+ 毎回select問い合わせのたびに処理を実行するより
60
+ テーブルに残したいと考えています。
54
61
  よろしくお願いいたします。

4

サンプル数を増やしました

2019/02/18 11:31

投稿

julieta
julieta

スコア13

title CHANGED
File without changes
body CHANGED
@@ -8,26 +8,46 @@
8
8
  |:--|:--:|--:|
9
9
  2/2|1|1|600|
10
10
  2/2|2|1|700|
11
+ 2/2|3|1|700|
12
+ 2/2|4|1|500|
13
+ 2/2|5|1|300|
14
+ 2/2|6|1|100|
15
+ 2/1|5|2|800|
16
+ 2/1|4|2|900|
17
+ 2/1|3|2|800|
18
+ 2/1|2|2|900|
11
19
  2/1|1|2|800|
12
- 2/1|2|2|900|
20
+ 2/1|6|2|900|
13
21
 
14
22
  最終的に以下のようなテーブルにしたいと思っていま
15
23
 
16
24
 
17
25
  日付|仕入先id|商品ID|価格|並び
18
26
  |:--|:--:|--:|
19
- 2/2|1|1|600|67
27
+ 2/2|1|1|600|677531
20
- 2/2|2|1|700|67
28
+ 2/2|2|1|700|677531
29
+ 2/2|3|1|700|677531
30
+ 2/2|4|1|500|677531
31
+ 2/2|5|1|300|677531
32
+ 2/2|6|1|100|677531
21
- 2/1|1|2|800|89
33
+ 2/1|5|2|800|293989
34
+ 2/1|4|2|900|293989
35
+ 2/1|3|2|300|293989
22
- 2/1|2|2|900|89
36
+ 2/1|2|2|900|293989
37
+ 2/1|1|2|200|293989
38
+ 2/1|6|2|900|293989
23
39
 
24
- 並びカラムが必要な理由は行数が多く100万行ほどあり更新頻度は1日一回で問い合わせの頻度は1日に100回ほどでいろいろな条件が組み合わされるため一度テーブルを作ってしまってから動かしたほうが動作が早いと思ったのが理由です。
40
+ 並びカラムが必要な理由は行数が多く100万行ほどあり更新頻度は1日一回で問い合わせの頻度は1日に100回ほどでいろいろな条件が組み合わされるため一度テーブルを作ってしまってからSELECTクエリなどで動かしたほうが動作が早いと思ったのが理由です。
25
41
 
42
+ 条件というのは例えば
43
+
26
44
  並びカラムのルールは日付と商品id別で絞り
27
45
  仕入先id順で並べた価格の
28
46
  百の位を左から並べていきたいと思っています
29
47
 
30
48
  価格は必ず100円以上999円以下になっています。
49
+ 仕入れIDは1~6までが必ず1日1商品につき一つずつ存在します。
50
+ 商品IDは日々1000種類ほどあります
31
51
 
32
52
  update文をどのように記述したらいいでしょうか?
33
53
  拙い説明文で申し訳ありませんが

3

価格カラムについての詳細

2019/02/18 11:21

投稿

julieta
julieta

スコア13

title CHANGED
File without changes
body CHANGED
@@ -27,6 +27,8 @@
27
27
  仕入先id順で並べた価格の
28
28
  百の位を左から並べていきたいと思っています
29
29
 
30
+ 価格は必ず100円以上999円以下になっています。
31
+
30
32
  update文をどのように記述したらいいでしょうか?
31
33
  拙い説明文で申し訳ありませんが
32
34
  よろしくお願いいたします。

2

説明文を追加しました

2019/02/18 10:38

投稿

julieta
julieta

スコア13

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,6 @@
1
1
  ### t仕入というテーブルの複数の行から値を持ってくるSQL文を考えています
2
2
 
3
- データベースがmysqlでAccessで制作をしているので
3
+ Microsoft Accessでシステムを組みデータ側はmysqlを動かしてODBC接続しておりま
4
4
  以下のようなテーブルがありまして
5
5
  並びというフィールドに値を挿入したいと考えています。
6
6
 
@@ -21,7 +21,12 @@
21
21
  2/1|1|2|800|89
22
22
  2/1|2|2|900|89
23
23
 
24
+ 並びカラムが必要な理由は行数が多く100万行ほどあり更新頻度は1日一回で問い合わせの頻度は1日に100回ほどでいろいろな条件が組み合わされるため一度テーブルを作ってしまってから動かしたほうが動作が早いと思ったのが理由です。
25
+
26
+ 並びカラムのルールは日付と商品id別で絞り
24
- 日付と商品id別に仕入先id順で値を並べたですが
27
+ 仕入先id順で並べた価格
28
+ 百の位を左から並べていきたいと思っています
29
+
25
30
  update文をどのように記述したらいいでしょうか?
26
31
  拙い説明文で申し訳ありませんが
27
32
  よろしくお願いいたします。

1

タイトルが不適切であるとのご指摘を受けましたので修正させて頂きました。

2019/02/18 10:35

投稿

julieta
julieta

スコア13

title CHANGED
@@ -1,1 +1,1 @@
1
- 複数の行をまとめるSQL
1
+ 並びというフィールドに別の行から値持ってくるSQLを考えています
body CHANGED
@@ -1,4 +1,4 @@
1
- ### t仕入というテーブルの複数の行をまとめるSQL
1
+ ### t仕入というテーブルの複数の行から値持ってくるSQL文を考えています
2
2
 
3
3
  データベースがmysqlでAccessで制作をしているのですが
4
4
  以下のようなテーブルがありまして