Php 来自2个不同表的SQL Concat文本(多部分消息)

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

我试图用PHP进行一个查询,该查询将提供两个不同表中通过ID连接在一起的行

我的第一个表是“发件箱”,看起来像这样

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