Why this exists query not working on Drizzle

I am transferring my project from pg to drizzle, and I need some help on it I am having this query
SELECT EXISTS (
SELECT 1 FROM "admins" WHERE "roleId" = $1
) AS "hasAdmin",
EXISTS (
SELECT 1 FROM "users" WHERE "roleId" = $1
) AS "hasUser";
SELECT EXISTS (
SELECT 1 FROM "admins" WHERE "roleId" = $1
) AS "hasAdmin",
EXISTS (
SELECT 1 FROM "users" WHERE "roleId" = $1
) AS "hasUser";
and I tried, but it is not working
db.select({
hasAdmin: exists(
db
.select({ 1: sql`1` })
.from(admins)
.where(eq(admins.roleId, 1)),
),
hasUser: exists(
db
.select({ 1: sql`1` })
.from(users)
.where(eq(users.roleId, 1)),
),
}).from(sql`SELECT 1`);
db.select({
hasAdmin: exists(
db
.select({ 1: sql`1` })
.from(admins)
.where(eq(admins.roleId, 1)),
),
hasUser: exists(
db
.select({ 1: sql`1` })
.from(users)
.where(eq(users.roleId, 1)),
),
}).from(sql`SELECT 1`);
1 Reply
Techpure
Techpure2w ago
For example on how exist works

CREATE TABLE IF EXISTS PERSON
For example on how exist works

CREATE TABLE IF EXISTS PERSON
you cant just say exist and it work
const rows = await db
.select({
hasAdmin: exists(
db
.select({ marker: sql<number>`1` })
.from(admins)
.where(eq(admins.roleId, roleId))
),
hasUser: exists(
db
.select({ marker: sql<number>`1` })
.from(users)
.where(eq(users.roleId, roleId))
),
})
.from(singleRow);
const rows = await db
.select({
hasAdmin: exists(
db
.select({ marker: sql<number>`1` })
.from(admins)
.where(eq(admins.roleId, roleId))
),
hasUser: exists(
db
.select({ marker: sql<number>`1` })
.from(users)
.where(eq(users.roleId, roleId))
),
})
.from(singleRow);
That's the best thing I could come up with

Did you find this page helpful?