我正在使用这个简单的SQL查询从MySQL数据库中的两个表中检索数据:
SELECT customer_id, domain_name
FROM customers_orders
INNER JOIN orders ON order_id = sub_id
结果类似于:
1114 somedomain.com
1115 anotherdomain.net
1116 domain1.org
1116 domain2.com
我如何告诉它给我一个类似于:
的输出1114 somedomain.com
1115 anotherdomain.net
1116 domain1.org, domain2.com
为了避免两行具有相同的customer_id ...我想知道它是否甚至可以用SQL?我是SQL的初学者,我非常感谢你对此的帮助。
非常感谢!
答案 0 :(得分:6)
尝试这样的事情
SELECT customer_id, GROUP_CONCAT(domain_name SEPARATOR ',')
FROM customers_orders
INNER JOIN orders ON order_id = sub_id
GROUP BY customer_id
答案 1 :(得分:3)
您可以使用:
SELECT customer_id, GROUP_CONCAT(domain_name ORDER BY domain_name SEPARATOR ', ') domain_name
FROM customers_orders INNER JOIN orders
ON order_id = sub_id
GROUP BY customers_orders.customer_id
答案 2 :(得分:3)
尝试下一步:
select customer_id, group_concat(domain_name separator ', ')
from customers_orders group by customer_id
答案 3 :(得分:2)
不,它不是。根据其他人的建议,可以通过GROUP_CONCAT
进行。但我不建议使用它。最好在处理代码中处理此问题。它将更容易阅读和维护。