質問編集履歴

4

画像差し替え

2020/02/01 12:10

投稿

ikatako
ikatako

スコア270

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  こちらの画像に質問をまとめさせていただきました。
6
6
 
7
- ![イメージ説明](efb4b0b2852456d6174bb3649f60d029.jpeg)
7
+ ![イメージ説明](cbb6ba762cd7fb11b1e53e466bf81d6f.jpeg)
8
8
 
9
9
 
10
10
 

3

画像の差し替え、誤字訂正

2020/02/01 12:10

投稿

ikatako
ikatako

スコア270

test CHANGED
File without changes
test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  こちらの画像に質問をまとめさせていただきました。
6
6
 
7
- ![イメージ説明](c1d14b394207c38da1a0721d951d20cd.jpeg)
7
+ ![イメージ説明](efb4b0b2852456d6174bb3649f60d029.jpeg)
8
8
 
9
9
 
10
10
 
@@ -46,7 +46,7 @@
46
46
 
47
47
 
48
48
 
49
- ※Oriofsky様からご指摘を受け、上記SQL fiddleのコードを下記に掲載させて頂きます。
49
+ ※Orlofsky様からご指摘を受け、上記SQL fiddleのコードを下記に掲載させて頂きます。
50
50
 
51
51
  ```SQL
52
52
 

2

SQL fiddleのコードを質問本文に掲載

2020/02/01 11:55

投稿

ikatako
ikatako

スコア270

test CHANGED
File without changes
test CHANGED
@@ -46,6 +46,96 @@
46
46
 
47
47
 
48
48
 
49
+ ※Oriofsky様からご指摘を受け、上記SQL fiddleのコードを下記に掲載させて頂きます。
50
+
51
+ ```SQL
52
+
53
+ # main_datas の作成
54
+
55
+ CREATE TABLE main_datas
56
+
57
+ (`main_id` int, `unique_name` varchar(5), `nick_name` varchar(2))
58
+
59
+ ;
60
+
61
+ INSERT INTO main_datas
62
+
63
+ (`main_id`, `unique_name`, `nick_name`)
64
+
65
+ VALUES
66
+
67
+ (1, 'one', '一郎'),
68
+
69
+ (2, 'two', '次郎'),
70
+
71
+ (3, 'three', '三郎')
72
+
73
+ ;
74
+
75
+
76
+
77
+ # sub_datas の作成
78
+
79
+ CREATE TABLE sub_datas
80
+
81
+ (`sub_id` int, `user_id` int, `sub_key` varchar(7), `sub_val` varchar(3))
82
+
83
+ ;
84
+
85
+ INSERT INTO sub_datas
86
+
87
+ (`sub_id`, `user_id`, `sub_key`, `sub_val`)
88
+
89
+ VALUES
90
+
91
+ (1, 1, 'age', '10歳'),
92
+
93
+ (2, 1, 'address', '東京'),
94
+
95
+ (3, 2, 'age', '20歳'),
96
+
97
+ (4, 2, 'address', '神奈川'),
98
+
99
+ (5, 3, 'age', '30歳'),
100
+
101
+ (6, 3, 'address', '千葉')
102
+
103
+ ;
104
+
105
+
106
+
107
+ # action_datas の作成
108
+
109
+ CREATE TABLE action_datas
110
+
111
+ (`action_id` int, `action_name` varchar(8), `action_date` varchar(4), `actor_id` int, `target_id` int, `target_type` varchar(6))
112
+
113
+ ;
114
+
115
+ INSERT INTO action_datas
116
+
117
+ (`action_id`, `action_name`, `action_date`, `actor_id`, `target_id`, `target_type`)
118
+
119
+ VALUES
120
+
121
+ (1, 'follow', '1月1日', 1, 2, 'user'),
122
+
123
+ (2, 'follow', '2月2日', 1, 20, 'thread'),
124
+
125
+ (3, 'follow', '3月3日', 2, 20, 'thread'),
126
+
127
+ (4, 'favorite', '4月4日', 3, 2, 'user'),
128
+
129
+ (5, 'follow', '5月5日', 3, 20, 'thread'),
130
+
131
+ (6, 'favorite', '6月6日', 1, 3, 'user')
132
+
133
+ ;
134
+
135
+
136
+
137
+ ```
138
+
49
139
 
50
140
 
51
141
  ### 試したこと

1

コード訂正

2020/02/01 09:20

投稿

ikatako
ikatako

スコア270

test CHANGED
File without changes
test CHANGED
@@ -86,7 +86,23 @@
86
86
 
87
87
  # ➃のテーブル
88
88
 
89
- # 同上
89
+ SELECT
90
+
91
+ m.main_id,
92
+
93
+ m.unique_name AS unique_name,
94
+
95
+ m.nick_name AS nick_name,
96
+
97
+ (select sub_val from sub_datas where user_id = m.main_id and sub_key = 'age' ) as age,
98
+
99
+ (select sub_val from sub_datas where user_id = m.main_id and sub_key = 'address' ) as address,
100
+
101
+ (select action_date from followers where actor_id = u.ID ) as follow_date,
102
+
103
+ (select action_date from followers where actor_id = u.ID ) as favorite_date,
104
+
105
+ FROM main_datas m;
90
106
 
91
107
 
92
108