gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:28:31 26 4
gpt4 key购买 nike

我正在尝试在 PHP 中进行查询,该查询将通过来自 2 个不同表的 ID 将行连接在一起。

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

TextDecoded  |  ID   |  CreatorID
Helllo, m.. | 123 | Martin
Yes, I wi.. | 124 | Martin

我的第二个表是“outbox_multipart”,看起来非常相似。

TextDecoded  |  ID   |  SequencePosition
my name i.. | 123 | 2
s Martin. | 123 | 3
ll do tha.. | 124 | 2
t tomorrow. | 124 | 3

在此示例中,有 2 条消息,均由3 部分 组成。第一部分始终位于发件箱表中,其余部分位于按 SequencePosition 排序的 outbox_multipart 表中。

所以查询的预期结果是这样的。

       TextDecoded            |  ID   |   CreatorID
Helllo, my name is Martin. | 123 | Martin
Yes, I wil do that tomorrow. | 124 | Martin

这有可能吗?

最佳答案

  • Inner Join 使用 ID 在两个表之间进行连接。
  • Group_Concat()函数允许我们连接组中的表达式/列值,具有自定义排序的灵 active 和我们选择的分隔符。我们可以根据 outbox_multipart.SequencePosition 的升序 Order By 连接 outbox_multipart.TextDecoded;并使用空字符串 '' 作为分隔符。
  • 使用Concat()函数将固定的起始子字符串 outbox.TextDecoded 连接到 Group_concat 的结果字符串。

尝试:

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

关于php - 来自 2 个不同表的 SQL Concat 文本(多部分消息),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680526/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com