Php 来自2个不同表的SQL Concat文本(多部分消息)
我试图用PHP进行一个查询,该查询将提供两个不同表中通过ID连接在一起的行 我的第一个表是“发件箱”,看起来像这样Php 来自2个不同表的SQL Concat文本(多部分消息),php,mysql,Php,Mysql,我试图用PHP进行一个查询,该查询将提供两个不同表中通过ID连接在一起的行 我的第一个表是“发件箱”,看起来像这样 TextDecoded | ID | CreatorID Helllo, m.. | 123 | Martin Yes, I wi.. | 124 | Martin 我的第二个表是“发件箱\u multipart”,看起来非常相似 TextDecoded | ID | SequencePosition my name i.. | 1
TextDecoded | ID | CreatorID
Helllo, m.. | 123 | Martin
Yes, I wi.. | 124 | Martin
我的第二个表是“发件箱\u multipart”,看起来非常相似
TextDecoded | ID | SequencePosition
my name i.. | 123 | 2
s Martin. | 123 | 3
ll do tha.. | 124 | 2
t tomorrow. | 124 | 3
在本例中,有两条消息都由3个部分组成。第一部分始终位于发件箱表格中,其余部分位于按SequencePosition排序的发件箱\多部分表格中
因此,查询的预期结果是这样的
TextDecoded | ID | CreatorID
Helllo, my name is Martin. | 123 | Martin
Yes, I wil do that tomorrow. | 124 | Martin
这有可能吗?- 使用
在两个表之间进行ID
内部联接
- 函数允许我们在一个组中连接表达式/列值,具有自定义排序和分隔符选择的灵活性。我们可以根据
的outbox\u multipart.SequencePosition
升序
将
编码;并使用空字符串发件箱\u multipart.TextDecoded
作为分隔符'
- 使用函数将固定起始子字符串
,连接到发件箱.TextDecoded
的结果字符串组\u concat
是的,这是可能的,无论是使用php还是mysql游标都可以看到谢谢,这太完美了!除了我必须删除“before GROUP BY”,因为它给了我一个语法错误。@MartinZeltin噢,这是一个拼写错误。我会编辑的。乐意帮忙:)
SELECT
CONCAT(ob.TextDecoded,
GROUP_CONCAT(obm.TextDecoded
ORDER BY obm.SequencePosition ASC
SEPARATOR ''
)
) AS TextDecoded,
ob.ID,
ob.creatorID
FROM outbox AS ob
JOIN outbox_multipart AS obm ON obm.ID = ob.ID
GROUP BY
ob.ID,
ob.creatorID