我有两张表如下
CREATE TABLE messageTable (ID INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, USERID INTEGER, FROMUSER TEXT, TOUSER TEXT, MESSAGEBODY TEXT, STATUS INTEGER, CREATEDTIME TEXT);
和
CREATE TABLE chatPersonTable (ID INTEGER PRIMARY KEY AUTOINCREMENT UNIQUE, USERID INTEGER, NAME TEXT, IMAGEURL TEXT, LASTACTIVE TEXT, LOGEDINUSERID INTEGER, STATUS INTEGER);
我想从chatPersonTable.USERID = messageTable.USERID的messagetable中获取来自chatPersonTable for LOGEDINUSERID =“119”的所有列以及lastMessage(仅最后一条消息) 我正在使用以下查询,但它不能正常工作
SELECT
m.ID as CHATID, p.USERID, p.NAME, p.IMAGEURL, p.LASTACTIVE, p.logedinuserid, p.status, m.MESSAGEBODY, m.CREATEDTIME
from chatPersonTable as p join messageTable as m
on p.USERID = m.USERID
where p.LOGEDINUSERID = "119"
group by m.USERID order by m.CREATEDTIME desc
答案 0 :(得分:1)
您好,您可以使用以下查询来获取数据。这将使用自联接
获取数据SELECT m.ID as CHATID, p.USERID, p.NAME, p.IMAGEURL, p.LASTACTIVE, p.logedinuserid, p.status, m.MESSAGEBODY, m.CREATEDTIME ,**MAX(m.id)**
from chatPersonTable as p join messageTable as m on p.USERID = m.USERID where p.LOGEDINUSERID = "119" group by m.USERID
由于