From 4d1bcb697fa2b9597a5225d2ac2159025bfa5162 Mon Sep 17 00:00:00 2001 From: naka-12 <104970808+naka-12@users.noreply.github.com> Date: Mon, 14 Apr 2025 03:18:35 +0900 Subject: [PATCH] =?UTF-8?q?=E3=83=AC=E3=82=B3=E3=83=A1=E3=83=B3=E3=83=89?= =?UTF-8?q?=E3=82=AF=E3=82=A8=E3=83=AA=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/prisma/sql/recommend.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/server/prisma/sql/recommend.sql b/server/prisma/sql/recommend.sql index 1720f38b..4d1139c0 100644 --- a/server/prisma/sql/recommend.sql +++ b/server/prisma/sql/recommend.sql @@ -22,12 +22,12 @@ SELECT ) ) FROM "Slot" WHERE "Slot"."courseId" = c.id) ) - ) AS "courses", + ) FILTER (WHERE c.id IS NOT NULL) AS "courses", json_agg(DISTINCT jsonb_build_object( 'id', s.id, 'name', s.name, 'group', s.group - )) AS "interestSubjects", + )) FILTER (WHERE s.id IS NOT NULL) AS "interestSubjects", -- course overlap (SELECT COUNT(1) FROM "Course" course WHERE EXISTS (SELECT 1 FROM "Enrollment" e WHERE e."courseId" = course.id AND e."userId" = recv.id) @@ -40,11 +40,11 @@ SELECT ) AS overlap FROM "User" recv -INNER JOIN "Enrollment" ON "Enrollment"."userId" = recv.id -INNER JOIN "Course" c on c.id = "Enrollment"."courseId" -INNER JOIN "Slot" ON "Slot"."courseId" = c.id -INNER JOIN "Interest" ON "Interest"."userId" = recv.id -INNER JOIN "InterestSubject" s ON s.id = "Interest"."subjectId" +LEFT JOIN "Enrollment" ON "Enrollment"."userId" = recv.id +LEFT JOIN "Course" c on c.id = "Enrollment"."courseId" +LEFT JOIN "Slot" ON "Slot"."courseId" = c.id +LEFT JOIN "Interest" ON "Interest"."userId" = recv.id +LEFT JOIN "InterestSubject" s ON s.id = "Interest"."subjectId" WHERE recv.id <> $1