Skip to content

Commit 63032ab

Browse files
committed
fix the SQL
1 parent 98b7329 commit 63032ab

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

server/prisma/sql/recommend.sql

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,30 @@
1+
-- $1 = senderId
12
SELECT
2-
$1 AS senderId,
33
recv,
4+
-- course overlap
45
(SELECT COUNT(1) FROM "Course" course
5-
WHERE EXISTS (SELECT 1 FROM "Enrollment" e WHERE e.userId = recv.id)
6-
AND EXISTS (SELECT 1 FROM "Enrollment" e WHERE e.userId = senderId)
7-
) AS course_overlap,
6+
WHERE EXISTS (SELECT 1 FROM "Enrollment" e WHERE e."courseId" = course.id AND e."userId" = recv.id)
7+
AND EXISTS (SELECT 1 FROM "Enrollment" e WHERE e."courseId" = course.id AND e."userId" = $1)
8+
)
9+
+ -- interest overlap
810
(SELECT COUNT(1) FROM "InterestSubject" subj
9-
WHERE EXISTS (SELECT 1 FROM "Interest" i WHERE i.userId = recv.id)
10-
AND EXISTS (SELECT 1 FROM "Interest" i WHERE i.userId = senderId)
11-
) AS interest_overlap
11+
WHERE EXISTS (SELECT 1 FROM "Interest" i WHERE i."subjectId" = subj.id AND i."userId" = recv.id)
12+
AND EXISTS (SELECT 1 FROM "Interest" i WHERE i."subjectId" = subj.id AND i."userId" = $1)
13+
) AS overlap
1214
FROM "User" recv
13-
WHERE recv.id <> senderId
15+
WHERE recv.id <> $1
1416

1517
AND NOT EXISTS (
1618
SELECT 1 FROM "Relationship" rel
17-
WHERE rel."sendingUserId" IN (senderId, recv.id) AND rel."receivingUserId" IN (senderId, recv.id)
19+
WHERE rel."sendingUserId" IN ($1, recv.id) AND rel."receivingUserId" IN ($1, recv.id)
1820
AND (status = 'MATCHED' OR status = 'REJECTED')
1921
)
2022

2123
AND NOT EXISTS (
2224
SELECT 1 FROM "Relationship" rel_pd
23-
WHERE rel_pd."sendingUserId" = senderId AND rel_pd."receivingUserId" = recv.id
25+
WHERE rel_pd."sendingUserId" = $1 AND rel_pd."receivingUserId" = recv.id
2426
AND status = 'PENDING'
2527
)
2628

27-
ORDER BY course_overlap + interest_overlap DESC
29+
ORDER BY overlap DESC
2830
LIMIT $2 OFFSET $3;

0 commit comments

Comments
 (0)