Det verkar som att du vill välja den sista "pid", i termer av "datum", där s.mid='2'
Prova detta (efter att du har räknat ut var pid kommer ifrån och korrigerat den första raden)
SELECT [s? or maybe p?].pid
FROM swapping s INNER JOIN post p ON p.postid=s.postid
WHERE s.mid = '2'
ORDER BY date DESC
LIMIT(0,1)
Du kan också behöva alias datumkolumnen i ordning efter rad.