On Thursday, December 4, 2025, Rich Shepard <[email protected]>
wrote:

> On Thu, 4 Dec 2025, David G. Johnston wrote:
>
> As mentioned, the aggregate max should be avoided - you aren’t doing
>> statistics, you are ranking.
>>
>
> David,
>
> Got it.
>
> Select person.*, lastcontact.* from person join lateral (select contact.*
>> from contact where contact.person_id=person.person_id order by
>> last_contact_date desc limit 1) as lastcontact on true;
>>
>
> Select person.*, lastcontact.*
> from people
> join lateral (select contact.*
>      from contacts
>      where contacts.person_nbr = people.person_nbr
>      order by last_contact_date
>      desc limit 1)
> as lastcontact on true;
>
> psql:companies-contacted-2025.sql:10: ERROR:  missing FROM-clause entry
> for table "contact"
> LINE 3: join lateral (select contact.*
>
> So:
> Select person.*, lastcontact.*
> from people
> join lateral (select contacts.*
>      from contacts
>      where contacts.person_nbr = people.person_nbr
>      order by last_contact_date
>      desc limit 1)
> as lastcontact on true;
>
> psql:companies-contacted-2025.sql:10: ERROR:  column "last_contact_date"
> does not exist
> LINE 6:      order by last_contact_date
>
>

I was giving you a query form.  You should use the actual table and column
names in your schema…

David J.

Reply via email to