Мой набор результатов выглядит нормально, за исключением того, что я получаю дополнительные дубликаты результатов, которых я хочу избежать, вот такой случай:
Я использую две таблицы:
заказ
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
машина
id| vehiclename | routeid
1 | van1 | 23dsa
2 | van2 | 24gcc
Это мой запрос 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
Это запрос 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
Это мой результат:
companyname | orderdate
company1 |
company1 | 2011-04-28
company1 | 2011-04-05
company2 | 2011-22-05
Я бы хотел, чтобы это было так:
companyname | orderdate
company1 | 2011-04-28
company2 | 2011-22-05
я пропустил не ноль:
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