LINUX.ORG.RU

История изменений

Исправление no-dashi, (текущая версия) :

Для начала, задача в такой постановке не решается. Нужна еще одна «координата» - твой id. Если твой id известен, задача становится смешным дестким г..м:

select mail.* from (
   select remote, max(mail_date) as mail_date from
      (
         select mail_from as remote, mail_date from mail where mail_to = :myid
         union all
         select mail_to as remote, mail_date from mail where mail_from = :myid
      )
   group by remote
   ) lastmails
join mail on
   lastmails.remote = mail.mail_from and lastmails.mail_date = mails.mail_date
   or
   lastmails.remote = mail.mail_to and lastmails.mail_date = mails.mail_date

Исправление no-dashi, :

Для начала, задача в такой постановке не решается. Нужна еще одна «координата» - твой id. Если твой id известен, задача становится смешным дестким г..м:

select mail.* from (
   select remote, max(mail_date) as mail_date from
      (
         select mail_from as remote, mail_date from mail where mail_to = :myid
         union all
         select mail_to as remote, mail_date from mail where mail_from = :myid
      ) group by remote
   ) lastmails
join mail on
   lastmails.remote = mail.mail_from and lastmails.mail_date = mails.mail_date
   or
   lastmails.remote = mail.mail_to and lastmails.mail_date = mails.mail_date

Исходная версия no-dashi, :

Для начала, задача в такой постановке не решается. Нужна еще одна «координата» - твой id. Если твой id известен, задача становится смешным дестким г..м:

select mail.* from (
   select remote, max(mail_date) as mail_date from (
      select mail_from as remote, mail_date from mail where mail_to = :myid
      union all
      select mail_to as remote, mail_date from mail where mail_from = :myid
   ) lastmails
join mail on
   lastmails.remote = mail.mail_from and lastmails.mail_date = mails.mail_date
   or
   lastmails.remote = mail.mail_to and lastmails.mail_date = mails.mail_date