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

質問編集履歴

5

( 2020/08/15 14:21 に削除 ) を削除

2020/08/15 05:21

投稿

azagomarashi
azagomarashi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -111,8 +111,9 @@
111
111
  p2.created_at date_posting,
112
112
  u.ID author_id,
113
113
  u.name author_name,
114
+ -- 以下2つのblock日はSELECTに不要でした ( 2020/08/15 14:21 に削除 )
114
- b1.created_at date_blocking,
115
+ -- b1.created_at date_blocking,
115
- b2.created_at date_blocked
116
+ -- b2.created_at date_blocked
116
117
 
117
118
  FROM
118
119
  posts p1
@@ -133,18 +134,18 @@
133
134
  -- 2(B子) の 投稿 情報を連結
134
135
  LEFT JOIN posts p2 ON p2.user_ID = 2 AND p2.ID = p1.ID
135
136
 
136
- -- 以下のWHEREは間違いです(➁が抜けていました)
137
+ -- 以下のWHEREは間違いです ( 2020/08/15 14:07 に削除 )
137
138
  /*
138
139
  WHERE
139
140
  p1.post_kind = 1 -- ➀
140
141
  AND p1.is_trash = 0 -- ➄
141
142
  AND b1.created_at IS NULL -- ➅
142
143
  AND b2.created_at IS NULL -- ➅
143
- -- 以下忘れていたので追記(2020/08/14 13:34)
144
+ -- 以下忘れていたので追記( 2020/08/14 13:34 に追加 )
144
145
  AND ( k.created_at IS NOT NULL OR f.created_at IS NOT NULL ) -- ➂➃
145
146
  */
146
147
 
147
- -- 以下のWHEREが正しいです
148
+ -- 以下のWHEREが正しいです ( 2020/08/15 14:07 に追加 )
148
149
  WHERE
149
150
  p1.post_kind = 1 -- ➀
150
151
  AND p1.is_trash = 0 -- ➄

4

WHEREを修正

2020/08/15 05:21

投稿

azagomarashi
azagomarashi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -133,13 +133,30 @@
133
133
  -- 2(B子) の 投稿 情報を連結
134
134
  LEFT JOIN posts p2 ON p2.user_ID = 2 AND p2.ID = p1.ID
135
135
 
136
+ -- 以下のWHEREは間違いです(➁が抜けていました)
137
+ /*
136
138
  WHERE
137
- p1.post_kind = 1
139
+ p1.post_kind = 1 -- ➀
138
- AND p1.is_trash = 0
140
+ AND p1.is_trash = 0 -- ➄
139
- AND b1.created_at IS NULL
141
+ AND b1.created_at IS NULL -- ➅
140
- AND b2.created_at IS NULL
142
+ AND b2.created_at IS NULL -- ➅
141
143
  -- 以下忘れていたので追記(2020/08/14 13:34)
142
- AND ( k.created_at IS NOT NULL OR f.created_at IS NOT NULL )
144
+ AND ( k.created_at IS NOT NULL OR f.created_at IS NOT NULL ) -- ➂➃
145
+ */
146
+
147
+ -- 以下のWHEREが正しいです
148
+ WHERE
149
+ p1.post_kind = 1 -- ➀
150
+ AND p1.is_trash = 0 -- ➄
151
+ AND (
152
+ (
153
+ b1.created_at IS NULL -- ➅
154
+ AND b2.created_at IS NULL -- ➅
155
+ AND ( k.created_at IS NOT NULL OR f.created_at IS NOT NULL ) -- ➂➃
156
+ )
157
+ OR p2.created_at IS NOT NULL -- ➁
158
+ )
159
+
143
160
  ```
144
161
  ### 【試したコード】
145
162
  ➀➁➂➃に限定したpostsを対象に、➃➄でWHEREをかけようと思い、以下、下の3つでINNSER JOINを使ったのですが、これは連続では使えないようで、どうすればいいかわからず躓いています。

3

【現状のコード】に、「-- 以下忘れていたので追記(2020/08/14 13:34)」を追記

2020/08/15 05:07

投稿

azagomarashi
azagomarashi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -138,6 +138,8 @@
138
138
  AND p1.is_trash = 0
139
139
  AND b1.created_at IS NULL
140
140
  AND b2.created_at IS NULL
141
+ -- 以下忘れていたので追記(2020/08/14 13:34)
142
+ AND ( k.created_at IS NOT NULL OR f.created_at IS NOT NULL )
141
143
  ```
142
144
  ### 【試したコード】
143
145
  ➀➁➂➃に限定したpostsを対象に、➃➄でWHEREをかけようと思い、以下、下の3つでINNSER JOINを使ったのですが、これは連続では使えないようで、どうすればいいかわからず躓いています。

2

「###」を追加

2020/08/14 04:34

投稿

azagomarashi
azagomarashi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -100,7 +100,7 @@
100
100
  (1,5),(1,2),(3,4),(5,1),(4,1)
101
101
  ;
102
102
  ```
103
- 【現状のコード】
103
+ ###【現状のコード】
104
104
  このデータから条件に合致した投稿を得るSELECTですが、先述のようにWHEREの対象がpostsのすべてになっていると思います。
105
105
  ```SQL
106
106
  SELECT

1

誤字

2020/08/13 13:35

投稿

azagomarashi
azagomarashi

スコア13

title CHANGED
File without changes
body CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  しかし、【現状のコード】はWHEREの対象がpostsのすべてになっていると思います。
6
6
 
7
- そこで、➀➁➂➃に限定したpostsを対象に、➄でWHEREをかけることができれば早くなると思っているのですが、そのための【試したコード】で躓いています。
7
+ そこで、➀➁➂➃に限定したpostsを対象に、➄でWHEREをかけることができれば早くなると思っているのですが、そのための【試したコード】で躓いています。
8
8
 
9
9
  ###【条件】
10
10
  ★ 取得条件