ich eine Abfrage ausgeführt wird, aber wenn ich es ausführen, gibt es einPHP SQLSTATE [42000] Syntaxfehler oder Zugriffsverletzung: 1064 in Abfrage
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' count(distinct exams.user_id) as count_user_mhs from `users` where `users.type`' at line 1 (SQL: select `universities`.`name`, count(distinct exams.user_id) as count_user_dsn from `users` where `users.type` = 0, count(distinct exams.user_id) as count_user_mhs from `users` where `users.type` = 1, count(exams.subject_id) as count_subject, sum(exams.score) as count_score, TIME_FORMAT(SUM(TIMEDIFF(exams.exam_end_date, exams.exam_start_date)), "%H:%i:%s") as count_time from `exams` inner join `universities` on `universities`.`id` = `exams`.`university_id` inner join `users` on `users`.`id` = `exams`.`user_id` where exists (select * from `universities` where `exams`.`university_id` = `universities`.`id`) group by `user_id` order by `count_score` desc, `count_time` asc)
$exams = Exam::join('universities', 'universities.id', '=', 'exams.university_id')
->join('users', 'users.id', '=', 'exams.user_id')
->select('universities.name',DB::raw('count(distinct exams.user_id) as count_user_dsn from `users` where `users.type` = 0'),DB::raw('count(distinct exams.user_id) as count_user_mhs from `users` where `users.type` = 1'),DB::raw('count(exams.subject_id) as count_subject'),DB::raw('sum(exams.score) as count_score'),DB::raw('TIME_FORMAT(SUM(TIMEDIFF(exams.exam_end_date, exams.exam_start_date)), "%H:%i:%s") as count_time'));
Kann jemand helfen? Ich vermute, es hat etwas mit dem Ausdruck DB::raw
zu tun. Aber ich weiß nicht genau, was falsch ist.
1) Dies ist keine Warnung, dies ist ein Fehler. 2) Du hast die ganze Fehlermeldung nicht kopiert, daher wissen wir nicht einmal, was schief gegangen ist. 3) Sie haben das sql query laravel, das aus Ihrem Code erstellt wurde, nicht geteilt. Dies würde auch helfen, den Fehler zu identifizieren. Aber diese Unterabfragen mit den Zählungen im rohen SQL-Teil sehen falsch aus. 4) Es würde auch helfen, wenn Sie beschreiben, was genau Sie hier erreichen wollen. Weil wir feststellen können, wo Sie einen Fehler gemacht haben, ist es eine andere Idee, die Ihnen hilft, eine funktionierende Lösung zu erstellen. – Shadow
[Weitere Informationen] (https://stackoverflow.com/questions/23515347/how-can-i-fix-mysql-error-1064). – tadman
Fügen Sie die einfache Fehlermeldung ein, es hilft beim Debuggen. – BDS