SQL查询从两个表中选择具有一些匹配过滤器的行

时间:2015-05-13 12:52:31

标签: mysql

我有两张桌子。我的表中的数据如下所示。

我需要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个不同的行可以,因为所有行中的优惠券都不同。

假设用户选择2015年1月1日至2015年4月31日期间的优惠券,请查询显示名称,开始日期,优惠券以及所选过滤器之间的所有日期 从01-04到31-04。

并显示名称,开始日期,优惠券以及所有日期以下的总数。

条件是如果假日主人在选定日期之间有几天可用,则显示 - - - - - 所有天都不是1。

在以下输出 12-04-2015在假日主人中可用...所以这个显示 - - - - 所有日子以下..

预期输出

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

0 个答案:

没有答案