Get a Quote Right Now

Edit Template

Adding HAVING expression

Adding HAVING expression

Adding a HAVING expression is easy as:

createQueryBuilder("user").having("user.name = :name", { name: "Timber" })

Which will produce following SQL query:

SELECT ... FROM users user HAVING user.name = 'Timber'

You can add AND into an exist HAVING expression:

createQueryBuilder("user")
    .having("user.firstName = :firstName", { firstName: "Timber" })
    .andHaving("user.lastName = :lastName", { lastName: "Saw" })

Which will produce the following SQL query:

SELECT ... FROM users user HAVING user.firstName = 'Timber' AND user.lastName = 'Saw'

You can add OR into a exist HAVING expression:

createQueryBuilder("user")
    .having("user.firstName = :firstName", { firstName: "Timber" })
    .orHaving("user.lastName = :lastName", { lastName: "Saw" })

Which will produce the following SQL query:

SELECT ... FROM users user HAVING user.firstName = 'Timber' OR user.lastName = 'Saw'

You can combine as many AND and OR expressions as you need. If you use .having more than once you’ll override all previous HAVING expressions.

Share

Leave a Reply

Your email address will not be published. Required fields are marked *