【发布时间】:2011-03-24 05:11:25
【问题描述】:
如果可能的话,我会尝试将所有这些组合到一个查询中。我正在使用 SQLLite,所以我没有可用的存储过程。
查询的简单版本如下所示:
UPDATE FoodIntake SET MealType = 'B' WHERE Time < LunchStrt AND Time > BreakfastStart
但是必须推导出时间:
SET Time = RIGHT(DateTime, 8)
并且必须根据从程序传递的参数从 Patient 表中引入LunchStart 和BreakfastStart。像这样:
SELECT LunchStrt FROM Patient WHERE PatientId = :currentPatient AS LunchStrt
SELECT BrkStrt FROM Patient WHERE PatientId = :currentPatient AS BrkStrt
我想我终于可以将 Time 换成 RIGHT(DateTime, 8):
UPDATE FoodIntake SET MealType = 'B' WHERE RIGHT(DateTime, 8) < LunchStrt AND RIGHT(DateTime, 8) > BreakfastStart
但如果可能的话,我不确定从更新中的 Patient 表中引入 LunchStrt 和 BrkStrt 的正确语法。
【问题讨论】:
标签: sql sqlite variables join sql-update