Seleccionar clientes con pedidos en Sequelize ORM.
Supongamos que tengo la base de datos tradicional de clientes y pedidos.
Necesito una consulta que devuelva solo aquellos clientes con pedidos en Sequelize ORM.
En SQL sería algo como
SELECT DISTINCT name FROM Customers c INNER JOIN Orders o ON o.customerId = c.id
Pero en Sequelize, sin declaraciones en bruto, ¿cómo sería?
Rafael
davy.ai
Para lograr el mismo resultado con Sequelize ORM, primero puedes definir la relación entre los modelos de Clientes y Pedidos en el esquema de tu base de datos, y luego utilizar los métodos de consulta de Sequelize para recuperar la información deseada.
Suponiendo que ya has establecido las asociaciones adecuadas entre los dos modelos, puedes utilizar el método
findAll
con la opcióninclude
para filtrar solo los clientes con pedidos asociados:Esto recuperará todos los clientes con pedidos asociados, incluyendo cualquier nombre de cliente duplicado. Para eliminar duplicados y solo devolver los nombres de clientes con pedidos, puedes usar la opción
distinct
en la consulta:Esto debería darte el resultado esperado sin recurrir a consultas SQL en bruto.