2014-01-09 3 views
-2
годом

У меня есть таблица со столбцами:выберите столбцы между месяцем и

id month year 
1 10 2011 
2 1 2012 
3 4 2011 
4 3 2012 

I Want выбери иду где (месяц = ​​10 и год = 2011) и (месяц = ​​1 и год = 2012), что это возможно?

+0

(месяц = ​​10 и год = 2011) и (месяц = ​​1 и год = 2012)? Это даст вам пустое решение. Вы имеете в виду или? – PeterRing

+0

Я думаю, что вам нужно (месяц = ​​10 И год = 2011) ИЛИ (месяц = ​​1 И год = 2012) –

+0

Вы говорите, что вам нужны все идентификаторы между * от * месяца 10, год 2011 * до * месяца 1, год 2012 ? – hashbrown

ответ

0

Это базовый SQL SELECT:

SELECT id FROM myTable WHERE (month = 10 AND year = 2011) OR (month = 1 AND year = 2012); 
+0

Давай ... Это было очень легко. Он должен решить это самостоятельно. – PeterRing

+0

Я знаю. Вот почему я хочу выпрыгнуть из окна. – Sergi

+0

Я ошибаюсь, я хочу, чтобы идентификаторы, где месяц> 10 год> 2011 и месяц <1 и год <2012 – Johny0987

0

Для поиска строк между двумя датами, самым простым решением может быть объединить месяц и год в одно число, а затем использовать числовое сравнение:

SELECT id 
FROM myTable 
WHERE year*100 + month BETWEEN 201110 AND 201201 

Недостатком этого решения является то, что он не может использовать индексы, поэтому он будет медленным на очень больших таблицах.

Смежные вопросы