2

如何更改 mySQL 代码以在 Oracle SQL 11g 中工作

SELECT a.boxid, 
GROUP_CONCAT( CONCAT( b.quantity, \' x \', c.name ) SEPARATOR \', \' ) Items
FROM box a
INNER JOIN item_line b ON a.boxid = b.boxid
INNER JOIN items c ON b.itemid = c.itemid

此查询的输出如下所示:

boxid     items
1         2 x ball,4 x bat
2         ball
3         3 x cap,2 x ball,bat
4         2 x ball

感谢您的任何回答。

4

2 回答 2

1

采用LISTAGG()

SELECT  boxid,
        LISTAGG(quantity || ' x ' || name, ',') 
            WITHIN GROUP (ORDER BY boxid) AS items
FROM    tableName
GROUP   BY boxid
于 2013-05-07T03:03:13.420 回答
0

您可以尝试 Oracle 的 SQL Developer Migration(这是一个免费产品)。文档说它将有助于将 Microsoft Access、Microsoft SQL Server、MySQL 和 Sybase 迁移到 Oracle:

http://www.oracle.com/technology/tech/migration//workbench/index%5Fsqldev%5Fomwb.html

于 2013-05-07T02:57:12.330 回答