>> When I see SELECT DISTINCT in anything but an ad hoc query, I know
something is wrong with the query. <<
I know what you are saying, but I regard this and a few other things
as symptoms of bad SQL, not absolute proof of it. I look for a CROSS
JOIN that wasn't supposed to be there. But SELECT DISTINCT can be
valid.
Other symptoms are the use of ORs when an IN() would work. Likewise,
failure to use BETWEEN is another symptom. These tell me he has not
un-learned his original procedural language.