【发布时间】:2015-04-28 12:28:17
【问题描述】:
我执行以下查询,但我给出了错误。我想要我最后发布的 SQL 查询的结果。
userServiceAppointmentModel.findAll({
where: {
technician_id: resultsFromAuthentication.technician_id,
is_confirmed_by_user: 1,
$or: {
service_start_time: {
gte: curLocalDate
},
service_running_status: 1
}
},
attributes: attributes
}).complete(function (err, appointmentResponse) {
if (err) {
console.log(err);
}
SELECT
`id`, `technician_id`, `user_id`, `service_id`, `service_name`,
`service_location_string`, `service_location_latitude`,
`service_location_longitude`, `service_start_time`, `service_end_time`,
`notes`, `total_cost`, `service_cost`, `is_confirmed_by_user`,
`is_confirmed_by_technician`, `service_running_status`,
`service_start_time_by_technician`,`service_complete_time_by_technician`
FROM `user_service_appointment` AS `user_service_appointment`
WHERE `user_service_appointment`.`technician_id`=154
AND `user_service_appointment`.`is_confirmed_by_user`=1
AND (`user_service_appointment`.`service_start_time` >='2015-02-26 01:07'
OR `user_service_appointment`.`service_running_status`=1)
【问题讨论】:
-
请贴出错误
-
{ [错误:ER_PARSE_ERROR:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“
gte= '2015-02-26 01:07' ANDuser_service_appointment.$or1' 附近使用正确的语法] [app-4 (out)] 代码: 'ER_PARSE_ERROR', [app-4 (out)] errno: 1064, [app-4 (out)] sqlState: '42000', [app-4 (out)] index: 0, [app -4(出)] -
在哪里
user_service_appointment.technician_id=154 和user_service_appointment.is_confirmed_by_user=1 和user_service_appointment.$orgte= \'2015-02-26 01:07 \' ANDuser_service_appointment.$or1;' },我认为是Where条件synatx中的问题 -
检查日期时间字段的表示。
-
Joe 一切正常。问题是我无法在同一个查询中找到实现和/或运算符的代码。如果您在上面看到 Where 条件不正确,则 $or 运算符不正确。应该是 (
user_service_appointment.service_start_time>='2015-02-26 01:07' 或user_service_appointment.service_running_status=1)
标签: mysql node.js sequelize.js