根据表2得到表1的结果

时间:2017-10-16 13:43:27

标签: mysql sql

我的疑问是:

>>> df.loc[df['NewCol'].isnull(), 'NewCol'] = 'B'  
>>> df
       OldCol NewCol
0   sometext1      C
1  sometext 1      B
2      BB_ccc      A
3   sometext1      C

我有一个名为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的结果。

新编辑:

vip_allotment fiels是:

table2

date_total表:

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

1 个答案:

答案 0 :(得分:0)

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获得多个结果),但只是想知道这是否是您正在尝试做的正确方向?