我有两张桌子..
我的表格中的数据如下......
我需要sql查询,它显示上面两个表的预期输出...
holidayMaster
id Date
1 12-04-2015
客户表
Name startingdate coupondate
A 12-03-2015 11-04-2015
A 12-03-2015 11-05-2015
A 12-03-2015 11-06-2015
A 12-03-2015 11-07-2015
A 12-03-2015 11-08-2015
A 12-03-2015 11-09-2015
B 13-03-2015 12-04-2015
B 13-03-2015 12-05-2015
B 13-03-2015 12-06-2015
B 13-03-2015 12-07-2015
B 13-03-2015 12-08-2015
B 13-03-2015 12-09-2015
C 14-03-2015 13-04-2015
C 14-03-2015 13-05-2015
C 14-03-2015 13-06-2015
C 14-03-2015 13-07-2015
C 14-03-2015 13-08-2015
C 14-03-2015 13-09-2015
FOR EX - 在上面的客户表中..有18个不同的行ok ..Bcoz coupondate在所有行中都不同。
假设用户选择2015年4月1日至2015年4月31日期间的优惠券,请查询显示名称,开始日期,优惠券以及从01-04到31-04之间所选过滤器之间的所有日期。
并显示姓名,起始日期,优惠券以及所有日期以下的总数。
并且条件是如果假期主人在选定日期之间的某些天可用,则显示 - - - - - 所有天都不是1。
在下面的输出12-04-2015在假日大师中可用...所以这个显示 - - - - 所有日子以下..
所有1..31都是所选月份的日子。
plz帮助进行sql查询...
SELECT CE.* FROM customer CE LEFT JOIN holidaymaster HM ON CE.coupondate = HM.date WHERE CE.created BETWEEN :fromdate AND :todate AND CE.coupondate not in (select date from holidaymaster)
预期输出
name startingdate coupondate 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Total
A 12-03-2015 11-04-2015 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 31
B 13-03-2015 12-04-2015 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C 13-03-2015 13-04-2015 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 31