所以我试图在一个记录中获取两个不同列和不同行的值。
我有一个表ticket_thread
,其中包含以下列
id
ticket_id
是引用票证表的外键,它有助于代理和客户端在票证上完成所有会话线程/回复。 user_id
显示已在故障单上回复的用户的ID title
显示票证的标题,通常只有第一条记录具有值is_internal
评论用于区分团队评论(值= 1)和代理或客户回复(值= 0)updated_at
on显示对故障单进行回复的日期现在我希望为每个票证都有一条记录,其中包含会话标题,已创建最新票据回复的用户的ID以及回复时间,前提是回复不得为内部注释。
所以对于上面的例子我的结果就像
有可能吗?
请帮助我查询获取所需结果的查询,如果可能,请分享相同的laravel查询代码。
TIA
答案 0 :(得分:0)
使用group by和group concat
SELECT
`Ticket ID`,
substring_index(group_concat(`User ID` order by `Replied on` desc) , ',', 1) as `User ID`,
substring_index(group_concat(if (`Conversation Title` ='', null, `Conversation Title`) order by `Replied on` desc) , ',', 1) as `Conversation Title`,
MAX(`Replied on`)
FROM `table`
GROUP BY `Ticket ID`