查询中的多个日期范围

时间:2011-06-06 10:01:56

标签: sql-server-2008 date range

我有几张表,我想用多个日期范围列创建一个查询。这是一个例子:

          |  Date Range_1 |  Date Range_2 |
          |   01-31 Jan   |   01-30 Feb   |

          ---- col1,col2 -----col3, col4 ----



SELECT temp_a.*
FROM (SELECT col_1,col_2, col_3 from xyz WHERE (date BETWEEN '2011-01-01' AND '2011-01-30')
AND id = 70
GROUP BY a1 a2) temp_a
INNER JOIN table1 t1 ON a.id = t1.id



SELECT temp_b.*
FROM (SELECT col_1, col_2, col_3 from xyz WHERE (date BETWEEN '2011-02-01' AND '2011-02-30')
AND id = 70
GROUP BY a1 a2) temp_b
INNER JOIN table1 t1 ON b.id = t1.id

 I need all the column from temp_a and temp_b like this

 |temp_a.col_1 | temp_a.col_2 | temp_a.col_3 | temp_b.col_1 | temp_b.col_2 | temp_b.col_3 |

以上两个查询可以返回两个不同的范围值,但我想在单个查询中获取范围值。

请帮忙。

提前谢谢。

  • Shahidul,孟加拉国达卡。

1 个答案:

答案 0 :(得分:3)

OR子句中使用WHERE

WHERE ((date BETWEEN '2011-01-01' AND '2011-01-30')
       OR (date BETWEEN '2011-02-01' AND '2011-02-30'))