SQL-запрос к Rails ActiveRecord - PullRequest
       9

SQL-запрос к Rails ActiveRecord

0 голосов
/ 11 сентября 2018

У меня следующий запрос SQLite, который эквивалентен ActiveRecord?

Моя главная цель здесь - составить таблицу клиентов с проверкой количества продаж клиента за 29 дней древности. Любая помощь приветствуется, ребята.

select
    clients.id,
    clients.razon,
    clients.rfc,
    clients.state,
    clients.city,
    count(sales.id) AS "Num sales",
    SUM(
        CASE WHEN (
            (julianday('now') - julianday(sales.created_at) > 29)
        ) THEN 1 ELSE 0 END
    ) AS outdated_sales
from clients
join sales
    where clients.id = sales.client_id
    and sales.sku != ""
GROUP by sales.client_id
ORDER BY sales.created_at asc;

1 Ответ

0 голосов
/ 11 сентября 2018

Ниже может быть эквивалентный запрос ruby ​​для данного запроса sql.

Client.joins(:sales)
  .where("clients.id == sales.client_id AND sales.sku IS NOT IN (?)", ["", nil])
  .select("id, razon, rfc, state, city, count(sales.id) as num_sales")
  .order("sales.created_at")

Надеюсь, это поможет.

...