我需要什么 SQL 代码来执行以下操作?:
我有一张表(让我们随意称表为“名称”):
ID | Name1 | Name2
---+--------+-------
1 | Fred | Jack
2 | Jack | Jim
3 | Jill | Fred
4 | Jim | Jack
ETC
我想要生成的是 Name1 和 Name2 的单个列表(我什至不关心分组或排序),但我想保留与名称的原始“ID”关联:
ID | Names
---+------
1 | Fred
1 | Jack
2 | Jill
2 | Jim
3 | Jack
3 | Jim
4 | Fred
4 | Jack
我为什么要这样做?因为它看起来很简单,而且作为 SQL 编码器,我应该能够执行此任务,但我无法找到可以创建此输出的解决方案。此外,我只设法找到希望连接字段的人,这是一项简单的任务,但我对连接不感兴趣。
附加问题:如果 Name1 字段与 Name2 位于不同的表中,SQL 查询是否会有很大不同?(如果不同,它会是什么样子?)
附加问题:如果我们不关心 ID 字段,SQL 查询会更简单吗?如果是这样,那会是什么样子。