【发布时间】:2018-09-01 05:04:57
【问题描述】:
我在 3 个表中使用 JOIN 并让计数和 mysql 查询正常工作,现在我的问题是我想在我的主查询中添加一个 BETWEEN 条件,这里 SQL FIDDLE 你可以检查我的表架构。在trip_details 表中,我有一个名为tripDate 的列,仅使用此列我必须在主查询中使用BETWEEN 条件
Mysql查询:
SELECT COUNT(T.tripId) as Escort_Count,
(
SELECT COUNT(*) FROM
(
SELECT a.allocationId
FROM trip_details a
INNER JOIN cab_allocation c ON a.allocationId = c.allocationId
WHERE c.`allocationType` = 'Adhoc Trip'
GROUP BY a.allocationId
) AS Ad
) AS Adhoc_Trip_Count,
(SELECT COUNT(id) FROM trip_details) as Total_Count
FROM
(
SELECT a.tripId FROM
trip_details a
INNER JOIN
escort_allocation b
ON a.allocationId = b.allocationId
GROUP BY a.allocationId
) AS T
【问题讨论】:
-
您的代码示例中的
BETWEEN在哪里?或者,你想要它在哪里?你还应该解释你想要达到的目标(也许通过向我们展示你得到的结果与你想要的结果) -
欢迎来到本站。虽然您的问题的格式和第一篇文章的整体准备工作令人印象深刻,但从您当前的查询中不清楚您还希望它做什么。事实上,您的查询中根本没有提到
BETWEEN和它应该约束的列。 -
顺便说一句,
SELECT a.allocationId子查询周围不需要SELECT COUNT(*),只需使用SELECT COUNT(DISTINCT a.allocationId) -
@devlin carnate,你看到了我的 sql 小提琴,从那里
trip_details表一列将在那里称为tripDate,我想在我的查询中添加条件,因为现在我的查询工作完美但是没有中间条件,这意味着我只能在两个日期之间选择记录 -
@RoobathiN :不,我没有看到你的小提琴。作为您问题的一部分,我希望您的代码的内容和上下文在这里。