sql - MySQL select date range from table where there's only one column for date -
having record in mysql database:
emp_name | team | start date | level | ----------+----------+---------------+-------- john | alpha | 2013-may-28 | 1 | john | beta | 2013-apr-05 | 3 | john | beta | 2013-jan-03 | 1 | john | gamma | 2012-dec-04 | 3 | john | gamma | 2012-sep-28 | 2 | john | gamma | 2012-sep-11 | 1 | john | beta | 2012-jul-17 | 3 | john | beta | 2012-may-03 | 1 | john | alpha | 2012-feb-12 | 3 | john | alpha | 2012-jan-01 | 1 |
how should know john member of team:
| | --------------------------------- alpha | 2012-jan-01 | 2012-may-03 beta | 2012-may-03 | 2012-sep-11 gamma | 2012-sep-11 | 2013-jan-03 beta | 2013-jan-03 | 2013-may-28 alpha | 2013-may-28 |
i don't know put in clause achieve this..i need have team name, date started on team, , end date on team..level column in not important..
select emp_name, team, min(start_date) start_date, end_date ( select t1.emp_name, t1.team, t1.start_date, min(t2.start_date) end_date table1 t1 left join table1 t2 on t1.emp_name = t2.emp_name , t1.team != t2.team , t1.start_date < t2.start_date group t1.emp_name, t1.team, t1.start_date) t3 group emp_name, team, end_date order start_date
Comments
Post a Comment