我是 Rails 新手,如果有人将这些 SQL 转换为完整的 Rails 模块,我将不胜感激。我知道有很多问题要问,但我不能只对所有这些都使用 find_by_sql。或者我可以吗?
这些是 SQL(它们在 MS-SQL 上运行):
SELECT STANJA_NA_DAN_POSTAVKA.STA_ID,
STP_DATE,
STP_TIME,
STA_OPIS,
STA_SIFRA,
STA_POND FROM STANJA_NA_DAN_POSTAVKA
INNER JOIN STANJA_NA_DAN ON(STANJA_NA_DAN.STA_ID=STANJA_NA_DAN_POSTAVKA.STA_ID)
WHERE ((OSE_ID=10)AND (STANJA_NA_DAN_POSTAVKA.STP_DATE>={d '2010-03-30'})
AND (STANJA_NA_DAN_POSTAVKA.STP_DATE<={d '2010-03-30'}))
SELECT ZIGI_OBDELANI.OSE_ID,
ZIGI_OBDELANI.DOG_ID AS DOG_ID,
ZIGI_OBDELANI.ZIO_DATUM AS DATUM,
ZIGI_PRICETEK.ZIG_TIME_D AS ZIG_PRICETEK,
ZIGI_KONEC.ZIG_TIME_D AS ZIG_KONEC
FROM (ZIGI_OBDELANI
INNER JOIN ZIGI ZIGI_PRICETEK
ON ZIGI_OBDELANI.ZIG_ID_PRICETEK = ZIGI_PRICETEK.ZIG_ID )
INNER JOIN ZIGI ZIGI_KONEC ON ZIGI_OBDELANI.ZIG_ID_KONEC = ZIGI_KONEC.ZIG_ID
WHERE (ZIGI_OBDELANI.OSE_ID = 10)
AND (ZIGI_OBDELANI.ZIO_DATUM >= {d '2010-03-30'})
AND (ZIGI_OBDELANI.ZIO_DATUM <= {d '2010-03-30'})
AND (ZIGI_PRICETEK.ZIG_VELJAVEN <> 0)
AND (ZIGI_KONEC.ZIG_VELJAVEN <> 0)
ORDER BY ZIGI_OBDELANI.OSE_ID, ZIGI_PRICETEK.ZIG_TIME ASC
这些 SQL 是每天的工作时间,我按原样得到它们。我也得到了数据库,它(从 SQL-s 中可以看出)不在 Rails 约定中。作为 PS:
像 STP_DATE>={d'2010-03-30'}) 这样的东西当然是日期(斯洛文尼亚日期表示法),将被替换为变量(日期),以便用户可以选择日期和日期。
所有这些数据都将显示在表格的同一页面中,所以也许都在一个模块中?还是很多?如果这有帮助,也许。
那么有人可以帮助我吗?它是为了我的工作和我的第一个项目,我是 Rails 新手,老板们正在耐心等待(实际上他们变得非常响亮)
非常非常感谢你!
因此,如果有人可以为至少一个复杂的 SQL 做一个相关的模型部分,我真的很感激。我将在一个控制器和一个动作中读取所有数据。一切都将在一次运行中完成。