質問編集履歴
5
( 2020/08/15 14:21 に削除 ) を削除
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を修正
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)」を追記
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
「###」を追加
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
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
しかし、【現状のコード】はWHEREの対象がpostsのすべてになっていると思います。
|
6
6
|
|
7
|
-
そこで、➀➁➂➃に限定したpostsを対象に、
|
7
|
+
そこで、➀➁➂➃に限定したpostsを対象に、➄➅でWHEREをかけることができれば早くなると思っているのですが、そのための【試したコード】で躓いています。
|
8
8
|
|
9
9
|
###【条件】
|
10
10
|
★ 取得条件
|