Hello. Is there any way to make prisma do only one...
# orm-help
m
Hello. Is there any way to make prisma do only one query when querying from two tables?
Copy code
// prisma:query SELECT "public"."Session"."token", "public"."Session"."userId" FROM "public"."Session" WHERE "public"."Session"."token" = $1 OFFSET $2
// prisma:query SELECT "public"."User"."id" FROM "public"."User" WHERE "public"."User"."id" IN ($1) OFFSET $2
await prisma.session.findUnique({
	select: {
		user: { select: { id: true } },
	},
	where: {
		token,
	},
});
Copy code
// prisma:query SELECT "public"."User"."id" FROM "public"."User" WHERE "public"."User"."id" IN ($1) OFFSET $2
// prisma:query SELECT "public"."Session"."token", "public"."Session"."userId", "public"."Session"."createdAt" FROM "public"."Session" WHERE "public"."Session"."token" = $1 OFFSET $2
await prisma.session.findUnique({
	include: {
		user: { select: { id: true } },
	},
	where: {
		token,
	},
});
Copy code
// prisma:query SELECT "User".id FROM "User" WHERE "User".id = (SELECT "Session".userId FROM "Session" WHERE "Session".token = $1)
await prisma.$queryRaw`SELECT "User".id FROM "User" WHERE "User".id = (SELECT "Session"."userId" FROM "Session" WHERE "Session".token = ${token})`;
Copy code
// prisma:query SELECT "User".id FROM "User" LEFT JOIN "Session" ON "User".id = "Session"."userId" WHERE "Session".token = $1
await prisma.$queryRaw`SELECT "User".id FROM "User" LEFT JOIN "Session" ON "User".id = "Session"."userId" WHERE "Session".token = ${token}`;