当ID相同时,试图生成用逗号分隔的语言列表。
表格1:
ID | LangID
1 1
1 2
1 3
2 3
2 4
3 1
表2:
ID | Language
1 English
2 Spanish
3 French
4 German
想要生成如下结果:
ID | Languages
1 English, Spanish, French
2 French, German
3 English
我尝试过的事情:
Stragg-SSIS给我“无效标识符”
SYS_Connect_By_Path-无法弄清楚如何将id转换为字符串语言。
有什么建议?
有多种方法可以执行字符串聚合以生成逗号分隔的列表-有关更多详细信息,请参见此链接。根据链接中的示例,尝试:
SELECT x.id,
LTRIM(MAX(SYS_CONNECT_BY_PATH(x.language,','))
KEEP (DENSE_RANK LAST ORDER BY curr),',') AS employees
FROM (SELECT a.id,
b.language,
ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY b.language) AS curr,
ROW_NUMBER() OVER (PARTITION BY a.id ORDER BY b.language) -1 AS prev
FROM TABLE_1 a
JOIN TABLE_2 b ON b.id = a.langid) x
GROUP BY x.id
CONNECT BY prev = PRIOR curr AND x.id = PRIOR x.id
START WITH curr = 1;
问题内容: 如果运行命令,则会得到多行输出。您如何将所有行连接为一行,有效地将每行替换为(以空格结尾)? 对我不起作用。 问题答案: 使用翻译所有换行符为空格: 注意:读取文件,连接文件。不要啦! 编辑: 只能处理单字符翻译。您可以使用更改输出记录分隔符,例如: 这将改变: 至:
我的问题是如何将一列拆分为多个列。我不知道为什么 不起作用。 例如,我想将“df_test”更改为“df_test2”。我看到了很多使用熊猫模块的例子。还有别的办法吗?提前感谢您。 df_test2
问题内容: 我写了两个shell脚本和。在和我有一个无限的for循环,他们打印一些输出到终端。我想写另一个脚本,同时呼吁和,但我想用户立即恢复,而不是已经无限运行脚本的终端的控制,我想隐藏在终端输出。 问题答案: 使用,如果你的后台作业需要较长时间才能完成,或者你只是使用SecureCRT的或类似的东西登录服务器。 重定向 标准输出 和 标准错误 ,以忽略输出。
问题内容: 当按预期执行时,goroutine不打印任何内容。 问题答案: 当函数结束时,程序也将结束。它不等待其他goroutine完成。 引用Go语言规范:程序执行: 程序执行首先初始化主程序包,然后调用函数。当该函数调用返回时,程序退出。它不等待其他(非)goroutine完成。 有关更多详细信息,请参见此答案。 您必须告诉您的函数等待以goroutine形式启动的函数完成。您可以将它们与通
问题内容: 我不确定如何将数据透视到特定视图。以下是测试数据。 SQL 从输出中可以看到,未分组。 我将如何实现这一目标?或者我会完全朝错误的方向前进? 问题答案: 问题的一部分是您已跨多个要透视的列对数据进行了非规范化。理想情况下,您应该考虑修复表结构,以便于维护和查询。如果无法修复表结构,则应先取消对列的透视图,然后应用PIVOT获得最终结果。 UNPIVOT流程将采用多列并将其转换为多行。根
问题内容: 我正在写一个FTP下载器。代码的一部分是这样的: 我正在调用函数进程来处理回调: 输出是这样的: 但我希望它打印此行,下次重新打印/刷新它,因此它只会显示一次,并且我会看到下载进度。 怎么做到呢? 问题答案: 这是Python 3.x的代码: 该关键字是什么做的工作在这里- 在默认情况下,在一个换行符(结束)字符,但可以使用不同的字符串替换。在这种情况下,用回车符结束该行,而是将光标返