SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 13.04.2011 17:43:24

a.azizov
Участник
Зарегистрирован: 13.04.2011
Сообщений: 3

Можете помочь

Я хочу добавить фильтр по дате

пример
у меня есть 2 поле даты

начал.дата 01 01 2011
конеч.дата 10 02 2011


а я хочу добавить фильтр 
начал.дата<дата>конеч.дата

как могу это сделать?

как я могу это сделать с помощи запроса

Отредактированно a.azizov (13.04.2011 17:49:04)

Неактивен

 

#2 13.04.2011 17:49:59

Neokortex
Участник
Зарегистрирован: 13.04.2011
Сообщений: 14

Re: Можете помочь

Как-от так:

SELECT * FROM `table` WHERE `data_n`>'data_start' AND `data_n`<'data_end';

Неактивен

 

#3 13.04.2011 17:57:06

a.azizov
Участник
Зарегистрирован: 13.04.2011
Сообщений: 3

Re: Можете помочь

Neokortex написал:

Как-от так:

SELECT * FROM `table` WHERE `data_n`>'data_start' AND `data_n`<'data_end';

BEG DATE    END DATE    SIMVOL
01.01.2011    10.01.2011    10
01.01.2011    01.01.2011    120
01.01.2011    02.01.2011    130
01.01.2011    03.01.2011    199
01.01.2011    04.01.2011    13200
01.01.2011    05.01.2011    344
01.01.2011    06.01.2011    14
01.01.2011    07.01.2011    5
01.01.2011    08.01.2011    6
01.01.2011    09.01.2011    78
01.01.2011    10.01.2011    13

Для этой таблицы
я хочу написать запрос

в которым я бы мог объединить  BEG DATE    END DATE и сделать одно поле где бы мог написать WHERE и увидеть значение которые совпадают с этой датой

Неактивен

 

#4 13.04.2011 18:02:36

Neokortex
Участник
Зарегистрирован: 13.04.2011
Сообщений: 14

Re: Можете помочь

нет. туплю smile

так попробуйте:


SELECT * FROM `название_вашей_таблицы` WHERE `BEG DATE`<'ваша_дата' AND `END DATE`>'ваша_дата';
 


вы это имеете ввиду?

и вам наверное не в этот раздел, ну да модераторы разберутся.

Отредактированно Neokortex (13.04.2011 18:04:31)

Неактивен

 

#5 13.04.2011 18:12:21

a.azizov
Участник
Зарегистрирован: 13.04.2011
Сообщений: 3

Re: Можете помочь

Neokortex написал:

нет. туплю smile

так попробуйте:


SELECT * FROM `название_вашей_таблицы` WHERE `BEG DATE`<'ваша_дата' AND `END DATE`>'ваша_дата';
 


вы это имеете ввиду?

и вам наверное не в этот раздел, ну да модераторы разберутся.

принципе да
но есть такой один момент
я этот запрос буду использовать для создание отчета
именно для этого я должен добавить этот как поле (дата) которые будет между `BEG DATE`AND `END DATE


QUERY




SELECT
[CODE]=PL.CODE,
[CLIENT CODE] =
(SELECT CASE  PL.CLIENTCODE WHEN '*' THEN ''
ELSE         (SELECT CODE FROM LG_007_CLCARD WHERE CODE=PL.CLIENTCODE ) END),

[CLIENT NAME]=
(SELECT CASE  PL.CLIENTCODE WHEN '*' THEN ''
ELSE         (SELECT DEFINITION_ FROM LG_007_CLCARD WHERE CODE=PL.CLIENTCODE ) END),

[REGION]=
(SELECT CASE  PL.CLIENTCODE WHEN '*' THEN ''
ELSE         (SELECT CONSCODEREF FROM LG_007_CLCARD WHERE CODE=PL.CLIENTCODE ) END),



[SALESMAN]=
CASE  PL.CLIENTCODE WHEN '*' THEN ''
ELSE         (SELECT DEFINITION_ FROM LG_SLSMAN WHERE LOGICALREF IN (SELECT SALESMANREF FROM LG_007_SLSCLREL WHERE CLIENTREF IN
             (SELECT LOGICALREF FROM LG_007_CLCARD WHERE CODE=PL.CLIENTCODE )))
END,

[MATERIAL CODE]=IT.CODE,
[MATERIAL NAME]=IT.NAME,
[ARTICLE]=IT.PRODUCERCODE,
[CURRENCY]=PL.CURRENCY,
[PRICE]=PL.PRICE,
[MINPRICE]= PL.PRCALTERLMT1,
[BEGINNING DATE] =PL.BEGDATE,
[ENDDATE]=PL.ENDDATE,
[PAYMENT]=PL.TRADINGGRP,
[SPECODE]= PL.CLSPECODE5,
[MINPRICECONDITION]=PL.PRCALTERTYP1,

[CURRENT DATA]=  ВОТ ТУТ ДОЛЖЕН БУДЕТ ЭТО ДАТА


FROM LG_007_PRCLIST PL
INNER JOIN LG_007_ITEMS IT ON IT.LOGICALREF=PL.CARDREF
LEFT OUTER JOIN LG_007_CLCARD ON CLC.CODE=PL.CLIENTCODE
LEFT JOIN LG_007_CLCARD
WHERE PL.ACTIVE=0
ORDER BY PL.CODE

Неактивен

 

#6 15.04.2011 21:08:20

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Можете помочь

ПУСТЬ ЭТОТ ДАТА БУДЕТ ТАМ, ГДЕ ДОЛЖЕН, а условие надо добавлять в WHERE wink

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson