gpt4 book ai didi

sql - 如何将这两个表连接到同一个 Sql 结果中

转载 作者:搜寻专家 更新时间:2023-10-30 21:44:31 26 4
gpt4 key购买 nike

我正在尝试生成一个 SQL 查询,它可以将两个表连接在一起并返回结果..但是第二个表是“扁平化”的。我不确定这是否是正确的技术术语。它是反规范化的吗?

无论如何,有人可以建议我如何做到这一点吗?

表:用户

UserId  Name
1 Pure.Krome
2 John
3 Jill
4 Jane

表:用户别名

UserAliasId  UserId  Alias
1 1 Idiot
2 1 PewPew
3 3 BlahBlahBlah

期望的结果

UserId  Name        Aliases
1 Pure.Krome Idiot PewPew
2 John
3 Jill BlahBlahBlah
4 Jane

请注意:

  • 用户不需要有别名。所以这是一个零->多关系(outer join)
  • 第二张表的展平分隔符是一个空格。如果别名有空格,那我倒霉了。 (考虑一下,坏数据)。

我的问题的另一个例子是考虑一个 StackOverflow 问题 + 标签。

最佳答案

http://groupconcat.codeplex.com/具有作为 CLR 聚合函数实现的 MySQL 的 GROUP_CONCAT() 的克隆。我想 SQL 不是问题,但我也可以:

SELECT 
[Users].[UserId] AS UserId,
[Users].[Name] AS Name,
GROUP_CONCAT_D([UserAliases].[Alias]," ") AS Aliases
FROM [Users]
OUTER JOIN [UserAliases] ON [Users].[UserId]=[UserAliases].[UserId]

或类似的。

关于sql - 如何将这两个表连接到同一个 Sql 结果中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10731405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com