У меня есть таблица, которая содержит записи людей в зависимости от месяца и года. Таблица имеет несколько столбцов, в которых есть два столбца, которые являются fldmonth & fldyear, которые содержат месяц no и год соответственно.выбрать записи между двумя месяцами с разницей в году
Теперь я хочу получать данные между месяцами разного года. (Например, от 3-2012 до 6-2013)
Я использую следующий запрос, но не получаю надлежащую запись.
SELECT * FROM 'table' WHERE
user_id = 'id' AND
STR_TO_DATE(CONCAT('fldyear', 'fldmonth', '01'), '%Y%m%d') BETWEEN
STR_TO_DATE(CONCAT('2012', '3', '01'), '%Y%m%d') AND
STR_TO_DATE(CONCAT('2013', '6','01'), '%Y%m%d');
Таблица схемы:
user_id varchar(100), fldmonth smallint(2), fldyear mediumint(4)
(имя таблицы & Идентификатор_пользователя приведены здесь только для примера)
Пожалуйста, нужна помощь.
Примечание: Я использовал% c также в формате даты, потому что месяц находится в 1,2, .. 12 формате. Но все же я получаю пустой набор результатов
добавьте [sqlfiddle] (http://sqlfiddle.com), пожалуйста, –
извините, но данные чувствительны. Пожалуйста, рассмотрите пример. – Shri
Что на самом деле проблема с этим запросом? – Sadikhasan