mysql - 根据表2得到表1的结果

标签 mysql sql

我的查询是这样的:

SELECT
    id, 
    IF(allotment_type = 'Agent', COUNT(allotment_type), 0) AS total 
FROM vip_allotment 
WHERE
    (SELECT 
        date_from,
        date_to 
     FROM date_total 
     WHERE
        date_from >= '$date_1' 
        AND date_to <= '$date_2' ) 

我有一个名为 vip_allotment 的表我希望结果基于另一个名为 date_total 的表上的日期,我想确定date_from is >= $variable and date_to <= $variable2 .

主要问题是我无法获得 table1 的结果基于table2 .

新编辑:

vip_allotment 字段为:

id
general_setting_id
ddate
timex
hotel_id
cr_by
emp_id
update_emp_id
notes
date_from
date_to
allotment_type

日期总计表:

id
date_from
date_to

最佳答案

SELECT
    id, 
    IF(allotment_type = 'Agent', COUNT(allotment_type), 0) AS total 
FROM vip_allotment va
    LEFT JOIN date_total dt ON dt.date_from >= '$date_1' AND dt.date_to <= '$date_2'
WHERE
    va.ddate >= dt.date_from
    AND va.ddate <= dt.date_to

如您所见,WHERE 子句现在包含一个字段 va.ddate,该字段根据连接结果进行检查,以查找 date_total< 的范围 基于参数。

它远非完美(例如,您可能会从 dt 获得多个结果),但只是想看看这是否是您想要做的事情的正确方向?

关于mysql - 根据表2得到表1的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46771837/

相关文章:

java - 结果集中连接表缺少列 (SQLITE)

mysql - 如何在按月分组时获取最近 3 个月的记录

mysql - 减号运算符给我 mysql 中的错误

MySQL 多数据库模式更新 => 性能

PHP 使用可变长度形式更新

sql - 查询STATION中CITY名称最短和最长的两个城市,

mysql - 优化 IN 子查询

SQL 查询 : count for all the reviews that each customer has written

mysql - node-mysql 不做任何事情就崩溃了

mysql - 向内连接添加另一个条件