Comments (3)
@MatanYadaev I believe you can already do that but you also have to join the sub-query to the main one and maybe have some GROUP BY
clause.
Have you tried doing something like this?
const subquery = db
.select({
userId: posts.userId,
postsCount: count().as('postsCount'),
})
.from(posts)
.groupBy(posts.userId)
.as('postsCount');
const users = await db
.select({
id: users.id,
postsCount: subquery.postsCount,
})
.from(users)
.innerJoin(subquery, eq(subquery.userId, posts.userId));
Does that work for you?
from drizzle-orm.
It might work, but I didn't want to use inner join in my use case. This is my expected query:
SELECT
users.id,
(
SELECT
COUNT(*)
FROM
posts
WHERE
posts.userId = users.id
) AS postsCount
FROM
users;
from drizzle-orm.
Well, in that case I don't think it will be added any time soon, especially because of the presence of the alternative I suggested...
Also keep in mind that JOIN
s are generally faster than subqueries if you have a large dataset, so the existing solution would also be better than the feature you requested.
In this specific use-case where you put the subquery in the SELECT
statement, it will be executed for every single row of users
and things can get slow really fast
from drizzle-orm.
Related Issues (20)
- [BUG]: drizzle-kit push TypeError: This statement does not return data. Use run() instead HOT 2
- [BUG]:Error does not go away even after code is fixed
- [BUG]: Drizzle migration dont create data base if not existed in postgres HOT 1
- [BUG]: drizzle-orm dependency missing in drizzle-kit HOT 1
- [FEATURE]: Auto-Alias Columns in Subqueries
- [BUG]: drizzle-kit introspect casing "preserve" config not working
- [FEATURE]: add luxon datetime mode to timestamp columns
- [BUG]: string values for limit causes issues but for offset they are ok HOT 1
- [FEATURE]: Join type in query system when foreign key is nullable
- [BUG]: "Offset is outside the bounds of the DataView" when querying PgGeometry field via RQB relation HOT 1
- [BUG]: `drizzle-kit push --force` fails if `__old_push_table` doesn't exist
- [BUG]:isNotNull doesn't work with and statement that searches for a varchar with - HOT 1
- [FEATURE]: Ability to get info on migration status & if db can be migrated
- [BUG]: Not inferring types properly with typescript & turborepo HOT 1
- [FEATURE]: sqlx-ts integration for magic sql operator
- [BUG]: I get `cannot insert multiple commands into a prepared statement` when migrations more than one HOT 1
- [BUG]: ALTER TABLE Migration Fails to Preserve Default Value for Column
- [BUG]: permission denied for view pg_buffercache
- [BUG]:with clouse in query return never
- [FEATURE]: support const enums
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drizzle-orm.