如何编写与Oracle中MySQL的GROUP_CONCAT类似的查询? [英] How to write a query that does something similar to MySQL's GROUP_CONCAT in Oracle?
本文介绍了如何编写与Oracle中MySQL的GROUP_CONCAT类似的查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当我在Oracle数据库中运行以下SQL查询时:
When I run the following SQL query in my Oracle database:
SELECT p.pkt_nazwa,
u.us_nazwa
FROM punkty p,
kategorie_uslug ku,
usluga u
WHERE ku.pkt_id = p.pktk_1_id
AND ku.us_id = u.usk_1_id
ORDER BY p.pkt_nazwa;
我得到以下输出:
NAME | SERVICE
--------------------|-------------------
Baita De Mario | WC
Baita De Mario | Kuchnia
Baita De Mario | Nocleg
Bistro-Cafe | Bar
Bistro-Cafe | Dyskoteka
Bistro-Cafe | Kuchnia
我将如何获得以下输出?
How would I go about to get the following output?
NAME | SERVICES
--------------------|-------------------
Baita De Mario | WC, Kuchnia, Nocleg
Bistro-Cafe | Bar, Dyskoteka, Kuchnia
推荐答案
SELECT p.pkt_nazwa AS name, wm_concat(u.us_nazwa) AS services
FROM punkty p
JOIN kategorie_uslug ku ON ku.pkt_id = p.pktk_1_id
JOIN usluga u ON u.usk_1_id = ku.us_id
GROUP BY p.pkt_nazwa
ORDER BY p.pkt_nazwa;
大多数版本中都包含wm_concat()函数.
有关在Oracle中进行字符串聚合的更多信息.
wm_concat() function is present in most versions.
More about string aggregating in Oracle.
这篇关于如何编写与Oracle中MySQL的GROUP_CONCAT类似的查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文