Sql 结果表说明

Sql 结果表说明,sql,oracle,Sql,Oracle,我想用SQL编写一个查询。有人能帮我为下面的结果表编写oracle sql查询吗 Table 1 Data prodno description 1 Laptop 2 Charger 3 Mouse Table 2 Data prodno prodset_no 1 1 2 1 3 1 1 2 3 2 1 3 2 3 Result Table prodset_no prodset_desc 1 Laptop,Charger,M

我想用SQL编写一个查询。有人能帮我为下面的结果表编写oracle sql查询吗

Table 1 Data
prodno  description
1   Laptop
2   Charger
3   Mouse

Table 2 Data 
prodno  prodset_no
1   1   
2   1
3   1
1   2
3   2
1   3
2   3


Result Table
prodset_no  prodset_desc
1       Laptop,Charger,Mouse
2       Laptop,Mouse
3       Laptop,Charger

JOIN
两个表,然后使用
listag
生成逗号分隔的输出:

select t2.prodset_no,
    listagg(t1.description, ',') within group (
        order by t1.prodno
        ) prodset_desc
from table2 t2
join table1 t1 on t2.prodno = t1.prodno
group by t2.prodset_no;

另外,值得注意的是,
listag
的限制为4000字节。如果达到该限制,您可以使用
XMLAGG
或重新考虑问题,而不是在SQL中执行,而是在应用程序代码中处理它。

将两个表连接起来,然后使用
listag
生成逗号分隔的输出:

select t2.prodset_no,
    listagg(t1.description, ',') within group (
        order by t1.prodno
        ) prodset_desc
from table2 t2
join table1 t1 on t2.prodno = t1.prodno
group by t2.prodset_no;
另外,值得注意的是,
listag
的限制为4000字节。如果您达到了这个限制,您可以使用
XMLAGG
,或者重新思考问题,而不是在SQL中执行,而是在应用程序代码中处理它