Est-ce que quelqu'un connaît un moyen de construire un tableau croisé dynamique en utilisant activerecord qui serait à distance DB neutre? J'ai essayé d'éviter d'utiliser find_by_sql et les requêtes spécifiques à la base de données, mais pour un tableau croisé dynamique ou une requête de tableau croisé, je n'ai aucune idée de comment le faire d'une manière qui n'est pas spécifique à MySQL. IE my mySQL find_by_sql casse sur une base de données postgresql.rails db Tableau croisé dynamique ou tableau croisé dynamique
J'ai trouvé http://crosstab.rubyforge.org/ ce gemme obscur de tableau croisé qui pourrait fonctionner, mais je me demande si quelqu'un d'autre a une meilleure solution.
exemple quelque chose comme ce qui rediculous flips fondamentalement juste l'axe sur une table:
SELECT availables.name, rooms.id,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 0, availables.price, '')) AS day1,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 1, availables.price, '')) AS day2,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 2, availables.price, '')) AS day3,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 3, availables.price, '')) AS day4,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 4, availables.price, '')) AS day5,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 5, availables.price, '')) AS day6,
MAX(IF(to_days(availables.bookdate) - to_days('2009-06-13') = 6, availables.price, '')) AS day7,
AVG(availables.price),SUM(availables.price)
FROM `availables`
INNER JOIN rooms
ON availables.room_id=rooms.id
WHERE availables.room_id = '18382'
GROUP BY availables.name
également trouvé http: //api.rubyreports .org / – holden