質問編集履歴

2

追記

2020/06/10 02:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -52,6 +52,18 @@
52
52
 
53
53
 
54
54
 
55
+ -SQLを修正したところ正常な結果となりました-
56
+
57
+ select sum(items.price) as "総売上", sum(items.price-items.cost) as "総利益"
58
+
59
+ from items
60
+
61
+ join sales_records
62
+
63
+ on items.id = sales_records.item_id
64
+
65
+
66
+
55
67
 
56
68
 
57
69
  sqlのバージョンなどについてはprogateのサイトで調べてみましたが書かれていませんでした。

1

内容について誤りがあったので修正いたしました。

2020/06/10 02:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,29 @@
6
6
 
7
7
 
8
8
 
9
+ サンプルデータ
10
+
11
+ 【items】
12
+
13
+ id name gender price cost
14
+
15
+ 1 スカート 1 4000 800
16
+
17
+ 2 デニムパンツ 0 6500 2900
18
+
19
+ 3 デニムパンツ 1 6000 2600
20
+
21
+ 【sales_records】
22
+
23
+ id user_id item_id purchased_at
24
+
25
+ 1 204 28 2017-07-01
26
+
27
+ 2 99 8 2017-07-01
28
+
29
+ 3 97 17 2017-07-01
30
+
9
- -問題-
31
+ -SQL命令文-
10
32
 
11
33
  select sum(items.price) as "総売上", items.price-items.cost as "総利益"
12
34
 
@@ -16,40 +38,22 @@
16
38
 
17
39
  on items.id = sales_records.item_id
18
40
 
19
- limit 3;
20
-
21
41
  -自分が想像していた結果-
22
42
 
23
43
  総売上 総利益
24
44
 
25
- 4677900 3141900
45
+ 16500 10200
26
46
 
27
47
  -実際の結果-
28
48
 
29
49
  総売上 総利益
30
50
 
31
- 4677900 2900
32
-
33
- ※調べてみたところ原因はわりませんが特定の1レコードの計算しかしていませんでした。
51
+ 16500 itemsのどれか1レコードのprice-cost
34
52
 
35
53
 
36
54
 
37
- -総利益の計算部分でsum関数を使ったところ期待する結果となりました-
38
-
39
- select sum(items.price) as "総売上", sum(items.price-items.cost) as "総利益"
40
-
41
- from items
42
-
43
- join sales_records
44
-
45
- on items.id = sales_records.item_id;
46
-
47
- -結果-
48
-
49
- 総売上 総利益
50
-
51
- 4677900 3141900
52
55
 
53
56
 
57
+ sqlのバージョンなどについてはprogateのサイトで調べてみましたが書かれていませんでした。
54
58
 
55
59
  ご回答お願いいたします。