質問編集履歴
1
order条件が漏れていたので追記しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
外部結合したテーブルを
|
1
|
+
外部結合したテーブルを重複処理してから関連テーブルのカラムでソートしたい
|
test
CHANGED
@@ -88,7 +88,7 @@
|
|
88
88
|
|
89
89
|
#各テーブルを外部結合したものを部署の優先度順に並び替え、uniqで重複を取り除いている。
|
90
90
|
|
91
|
-
daily_reports.uniq("daily_reports.id").from(daily_reports.joins("LEFT OUTER JOIN `users` ON `users`.`id` = `daily_reports`.`user_id` LEFT OUTER JOIN `departments_users` ON `departments_users`.`user_id` = `users`.`id` LEFT OUTER JOIN `departments` ON `departments`.`id` = `departments_users`.`department_id`").select("*"))
|
91
|
+
daily_reports.uniq("daily_reports.id").from(daily_reports.joins("LEFT OUTER JOIN `users` ON `users`.`id` = `daily_reports`.`user_id` LEFT OUTER JOIN `departments_users` ON `departments_users`.`user_id` = `users`.`id` LEFT OUTER JOIN `departments` ON `departments`.`id` = `departments_users`.`department_id`").order(sanitized_query).select("*")).select("*")
|
92
92
|
|
93
93
|
|
94
94
|
|
@@ -108,10 +108,10 @@
|
|
108
108
|
|
109
109
|
|
110
110
|
|
111
|
-
Mysql2::Error: Duplicate column name 'id': SELECT DISTINCT * FROM (SELECT * FROM `daily_reports` LEFT OUTER JOIN `users` ON `users`.`id` = `daily_reports`.`user_id` LEFT OUTER JOIN `departments_users` ON `departments_users`.`user_id` = `users`.`id` LEFT OUTER JOIN `departments` ON `departments`.`id` = `departments_users`.`department_id`) subquery
|
111
|
+
Mysql2::Error: Duplicate column name 'id': SELECT DISTINCT * FROM (SELECT * FROM `daily_reports` LEFT OUTER JOIN `users` ON `users`.`id` = `daily_reports`.`user_id` LEFT OUTER JOIN `departments_users` ON `departments_users`.`user_id` = `users`.`id` LEFT OUTER JOIN `departments` ON `departments`.`id` = `departments_users`.`department_id`ORDER BY field(departments.id ,26,27,29,25,32,33,28,34,35,36,37,38)) subquery
|
112
112
|
|
113
113
|
```
|
114
114
|
|
115
115
|
|
116
116
|
|
117
|
-
ご教
|
117
|
+
ご教示お願い致します。
|