可以从php/mysql查询将多个单元格返回到单个单元格中吗?

可以从php/mysql查询将多个单元格返回到单个单元格中吗?,mysql,datatables,Mysql,Datatables,我最终使用jquery数据表为我们的知识库构建了一个简单的搜索表。我能够返回我需要的所有信息,但当一行链接到我们的多个产品时,我会得到重复的行 例如,解决方案377与数据库中的产品1、产品2和产品3相关。运行查询时,我得到以下结果: ID Product Description 377 Product1 Description xyz 377 Product2 Description xyz

我最终使用jquery数据表为我们的知识库构建了一个简单的搜索表。我能够返回我需要的所有信息,但当一行链接到我们的多个产品时,我会得到重复的行

例如,解决方案377与数据库中的产品1、产品2和产品3相关。运行查询时,我得到以下结果:

ID          Product          Description
377          Product1         Description xyz
377          Product2         Description xyz
377          Product3         Description xyz
这三行之间唯一的区别是“产品”列。是否有方法将此数据返回为:

ID                Product                   Description
377      Product1, Product2, Product3       Description xyz
我的问题是:

select kb.kbarticleid as ID,
kbc.title as Product,
kb.subject as Subject, 
kbd.contentstext as Contents 
from swkbarticles kb 

inner join swkbarticledata kbd on kb.kbarticleid = kbd.kbarticleid
inner join swkbarticlelinks kbl on kb.kbarticleid = kbl.kbarticleid
inner join swkbcategories kbc on kbl.linktypeid = kbc.kbcategoryid

我接受了您的查询,将其放入子查询中,将所有产品收集为CSV字符串,并按组运行

SELECT ID,GROUP_CONCAT(Product) Product,Description
FROM
(
    select kb.kbarticleid as ID,
    kbc.title as Product,
    kb.subject as Description, 
    kbd.contentstext as Contents 
    from swkbarticles kb 
    inner join swkbarticledata kbd on kb.kbarticleid = kbd.kbarticleid
    inner join swkbarticlelinks kbl on kb.kbarticleid = kbl.kbarticleid
    inner join swkbcategories kbc on kbl.linktypeid = kbc.kbcategoryid
) A GROUP BY ID,Description;
我的回答又快又脏,我对自己的表现没有任何要求。我不知道主题是描述还是哪个表有描述列

假设您的查询工作正常,我将其作为子查询,只返回ID、描述和产品。然后取这三列并调用函数。该功能将按元素组合共享同一组的所有产品


原则上,这将为您要求的ID 377生成输出。

完美!你能解释一下为什么会这样吗?顺便问一下,哪个表有描述?这样,我可以正确地雕刻查询。明白了-我还在连接的字段之间添加了一个空格:选择ID、GROUP_CONCAT“”、Product Product、将kb.kbarticleid作为ID的内容、将kbc.title作为产品的内容、将kb.subject作为主题的内容、,kbd.contentstext作为来自swkbarticles kb内部联接的内容swkbarticledata kbd on kb.kbarticleid=kbd.kbarticleid内部联接swkbarticlelinks kbl on kb.kbarticleid=kbl.kbarticleid内部联接swkbcategories kbc on kbl.linktypeid=kbc.KBCategorid按ID分组,内容;