MySQL select statement manipulation -
i have table in mysql below structure:
+=================+================+================+=================+ | value search | start time | endtime | value return | +=================+================+================+=================+ | value a. | date/time | date/time | value 1. | | value b. | date/time | date/time | value 2. | | value c. | date/time | date/time | value 3. | | value a. | date/time | date/time | value 4. | +===================================================+=================+ the value search not unique, unique token assigned specific time (start , end time).
when sending query mysql, querying system can send simple jdbc query (select valuetosearch, valuetoreturn table/view).
now need search table above query like: select valuetoreturn mytable/myview ( somedatetime < endtime , somedatetime > starttime , valuetosearch == value)
my first option create view has key value constructed merging valuetosearch epoch value every second between start , end time, result simple table row become 86400 rows, extremely inefficien , inflate database size 86400 times.
now question is: how can send query mysql database merged value (valuetosearch_somedatetime) , make mysql manipulate received query , search valuetosearch ( endtime > somedatetime , starttime < somedatetime) , return relevant valuetoreturn
thanks help.
mysql has function called now(), view can like
create view myview select valuetosearch,valuetoreturn mytable now() < endtime , now() > starttime; edit: additional view parameter different table, 1 row pair valuetosearch , searchtime. should updated/inserted before using myview2.
create view myview2 select t1.valuetosearch,t1.valuetoreturn mytable t1,paramtable t2 t1.valuetosearch = t2.valuetosearch , t2.searchtime < t1.endtime , t2.searchtime > starttime;
Comments
Post a Comment