My result set seems fine except I’m getting additional duplicate results which I want to avoid, here is that case:
I’m using two tables :
order
id|companyname|routeid|orderdate
1 |company1 | 23dsa |
2 |company1 | 23dsa | 2011-04-28
3 |company1 | 23dsa | 2011-04-05
4 |company2 | 24gcc | 2011-22-05
vehicle
id| vehiclename | routeid
1 | van1 | 23dsa
2 | van2 | 24gcc
This is my query 1 :
select t1.companyname, max(t1.orderdate) as orderdate
from order t1, vehicle t2 where t1.routeid=t2.routeid
group by t1.companyname, t1.orderdate
order by t1.id
This is query 2 :
select t1.companyname, max(t1.orderdate) as orderdate
from order t1, vehicle t2 where t1.routeid=t2.routeid
group by t1.companyname, t1.orderdate having count(1) = 1
order by t1.id
This is my result :
companyname | orderdate
company1 |
company1 | 2011-04-28
company1 | 2011-04-05
company2 | 2011-22-05
I’d like it to be like this :
companyname | orderdate
company1 | 2011-04-28
company2 | 2011-22-05
I was missing is not null :
select t1.companyname, max(t1.orderdate) as orderdate
from order t1, vehicle t2 where t1.orderdate is not null and t1.routeid=t2.routeid
group by t1.companyname, t1.orderdate
order by t1.id
What about:
And if you need that vehicle stuff in there: