回答編集履歴

1

追記

2016/05/11 08:47

投稿

ngyuki
ngyuki

スコア4514

test CHANGED
@@ -24,12 +24,56 @@
24
24
 
25
25
  )
26
26
 
27
- GROUP BY kid
27
+ GROUP BY kid
28
28
 
29
- HAVING pids = '1,2'
29
+ HAVING pids = '1,3'
30
30
 
31
31
  ```
32
32
 
33
33
 
34
34
 
35
35
  あと、LIKE の部分は honey8823 さんの指摘の鳥 `=` か `IN` にまとめるほうが良いです。
36
+
37
+
38
+
39
+ ----
40
+
41
+
42
+
43
+ トリッキーな気もしますが、次のように HAVING でも良さそうでしょうか。
44
+
45
+
46
+
47
+ ```sql
48
+
49
+ SELECT id,rental_name,city,ward,address,area_id, GROUP_CONCAT(pid ORDER BY pid separator ',') as pids
50
+
51
+ FROM rental
52
+
53
+ LEFT JOIN bukken_kodawari ON id = kid
54
+
55
+ WHERE 1 = 1
56
+
57
+ AND (
58
+
59
+ (area_id Like "1") OR (area_id Like "2") OR (area_id Like "3")
60
+
61
+ )
62
+
63
+ AND (
64
+
65
+ (pid LIKE "1") OR (pid LIKE "3")
66
+
67
+ )
68
+
69
+ GROUP BY kid
70
+
71
+ HAVING SUM(pid = '1') AND SUM(pid = '3')
72
+
73
+ ```
74
+
75
+
76
+
77
+ あと、`"1"` ではなく `'1'` の方が良いと思われます。
78
+
79
+