select t.familyname,t.givenname,t.travellerid,MAX(COUNT(DISTINCT j.departairport||j.destairport))
FROM traveller t, journey j, reservation r
WHERE t.travellerid=r.travellerid AND r.journeyid=j.journeyid
GROUP BY t.travellerid,t.familyname,t.givenname;
这是代码,实在找不到错在哪,网上也搜不到,求教教
三表联合查询比较容易使结果冗余,很可能是WHERE后的条件问题。另外MAX里面和GROUP BY后面的信息不一致吧(MAX里是JOURNEY表,GROUP BY里只有TRAVELLER表)。建议拆开来写,不容易错。