我希望以下错误是自我解释。我想将event_time与一些cart_time进行比较。我知道,当我们想要这样的操作时,我们需要使用in
,但是对于时间戳,比较它
mysql> SELECT bsid
FROM access_aug15
WHERE event_time < (SELECT cart_time
FROM chat_final
WHERE bsid in (SELECT bsid
FROM access_aug15
WHERE eventid="11"
AND current_page not like '%cart%'));
ERROR 1242 (21000): Subquery returns more than 1 row
编辑:表结构Access_aug15
+-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| vid | varchar(200) | YES | | NULL | |
| bsid | varchar(200) | YES | MUL | NULL | |
| event_time | datetime | YES | MUL | NULL | |
| eventid | varchar(10) | YES | MUL | NULL | |
| current_page | mediumtext | YES | | NULL | |
| departmentid | varchar(100) | YES | MUL | NULL | |
| form_id | varchar(100) | YES | | NULL | |
| form_name | varchar(100) | YES | | NULL | |
| page_title | varchar(200) | YES | | NULL | |
| report_date | datetime | YES | MUL | NULL | |
+-------------------+--------------+------+-----+---------+-------+
table2:chat_final
+-------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------------+--------------+------+-----+---------+-------+
| bsid | varchar(200) | YES | MUL | NULL | |
| chat_time | datetime | YES | | NULL | |
| cart_time | datetime | YES | | NULL | |
| customerid | varchar(100) | YES | | NULL | |
| detail | longtext | YES | | NULL | |
| chat_type | varchar(5) | YES | | NULL | |
+-------------------+--------------+------+-----+---------+-------+
在您的查询子查询中(在另一个查询中查询)应仅返回一个结果..但是它返回多个行。您需要修改子查询。请提供表结构和一些数据...然后我给您正确的查询
select bsid from access_aug15 where event_time <(select cart_time from chat_final
where bsid in (select bsid from access_aug15
where eventid="11" and current_page not like '%cart%'
LIMIT 1)
LIMIT 1);