【发布时间】:2019-03-24 11:27:02
【问题描述】:
我正在从三个表中获取数据:
$result = $this->db->query("
SELECT
`meetings`.*,
`follow_up`.id as follow_up_id,
`follow_up`.comment as follow_up_comment,
`follow_up`.date as follow_up_date,
`follow_up`.time as follow_up_time,
SELECT first_name, last_name, user_mobile, useralt_mobile from users where id = user_id,
(SELECT address FROM day_location WHERE `meetings`.assigned_to_id = user_id AND `follow_up`.date = date LIMIT 1) AS location_name
FROM meetings
LEFT JOIN follow_up ON `meetings`.id = `follow_up`.`meeting_id`
WHERE follow_up.`date` BETWEEN '{$fromDate_formated}' AND '{$toDate_formated}'
" . ($user_id > 0 ? " AND `meetings`.assigned_to_id = '{$user_id}'" : '') . "
ORDER BY `follow_up`.id DESC
");
错误:
发生数据库错误
错误号:1064
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 7 行的 'SELECT first_name, last_name, user_mobile, useralt_mobile from users where id = ' 附近使用正确的语法
选择meetings.*,follow_up.id 作为follow_up_id,follow_up.comment 作为follow_up_comment,follow_up.date 作为follow_up_date,follow_up.time 作为follow_up_time,从用户中选择first_name、last_name、user_mobile、useralt_mobile id = user_id, (SELECT address FROM day_location WHEREmeetings.assigned_to_id = user_id ANDfollow_up.date = date LIMIT 1) AS location_name FROM meeting LEFT JOIN follow_up ONmeetings.id =follow_up.meeting_idWHERE follow_up.dateBETWEEN '2018-10-01' AND '2018-10-31' ANDmeetings.assigned_to_id = '1' ORDER BYfollow_up.id DESC
你能帮忙吗?
【问题讨论】:
-
在此处复制/粘贴错误文本,而不是发布图像。
-
这个
SELECT first_name, last_name,...应该做什么? -
你应该使用
JOIN's 而不是这些子查询。 -
看起来您将一堆随机选择扔到一个语句中,这完全弄乱了语法。
-
您应该添加适当的数据样本和预期结果
标签: php mysql sql codeigniter