如何在mysql查询中获取一个变量中的多列

发布于 2024-09-15 12:47:43 字数 446 浏览 7 评论 0原文

表现

Articles -------- id,name,type_id
Type--------------id,name
article_type ----------article_id , type_id

我有使用此查询的

select A.name from types A 
inner join article_type B on ( B.type_id = A.id and article_id = 10)

在此查询正在工作,但它给了我单独的行,但我希望一个变量中的所有类型,以便我可以以表格式显示,例如

Article name ------------types
milk--------------------dairy , persishable , costly

I have the table

Articles -------- id,name,type_id
Type--------------id,name
article_type ----------article_id , type_id

I using this query

select A.name from types A 
inner join article_type B on ( B.type_id = A.id and article_id = 10)

Now this query is working but it gives me separate rows but i want all types in one variables so that i can display in table format like

Article name ------------types
milk--------------------dairy , persishable , costly

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

謌踐踏愛綪 2024-09-22 12:47:43

使用 MySQL 的 GROUP_CONCAT 函数 :

  SELECT a.name AS article_name,
         GROUP_CONCAT(t.name) AS types
    FROM ARTICLES a
    JOIN ARTICLE_TYPE at ON at.article_id = a.id
    JOIN TYPE t ON t.id = at.type_id
GROUP BY a.name

Use MySQL's GROUP_CONCAT function:

  SELECT a.name AS article_name,
         GROUP_CONCAT(t.name) AS types
    FROM ARTICLES a
    JOIN ARTICLE_TYPE at ON at.article_id = a.id
    JOIN TYPE t ON t.id = at.type_id
GROUP BY a.name
超可爱的懒熊 2024-09-22 12:47:43

如果我理解正确的话,诀窍是使用 CONCAT,如 SELECT CONCAT(A.name, ',',B.type) AS Synth FROM...

If I understand correctly, the trick is to use CONCAT, as in SELECT CONCAT(A.name, ',',B.type) AS synth FROM...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文