Sql server 关于分离返回结果的SQL查询帮助

Sql server 关于分离返回结果的SQL查询帮助,sql-server,code-separation,Sql Server,Code Separation,示例:在电话表上,某人有两个电话号码。SQL会给我第二行相同的人的不同电话号码,而不是第二列。我应该使用什么查询来检查person_id是否多次出现并在单独的列中插入第二行数据 我希望这是有意义的。提前谢谢 试试这样的方法: SELECT person_id, COUNT(person_id) AS 'PersonIDCount' FROM phone_table GROUP BY person_id HAVING COUNT(person_id) > 1 查询将返回多次插入同一个人id

示例:在电话表上,某人有两个电话号码。SQL会给我第二行相同的人的不同电话号码,而不是第二列。我应该使用什么查询来检查person_id是否多次出现并在单独的列中插入第二行数据


我希望这是有意义的。提前谢谢

试试这样的方法:

SELECT person_id, COUNT(person_id) AS 'PersonIDCount' FROM phone_table
GROUP BY person_id
HAVING COUNT(person_id) > 1

查询将返回多次插入同一个人id密钥的所有记录。

请尝试以下操作:

SELECT person_id, COUNT(person_id) AS 'PersonIDCount' FROM phone_table
GROUP BY person_id
HAVING COUNT(person_id) > 1

查询将返回多次插入同一个人id键的所有记录。

如果同一个人在
电话
表中有多个值,但您希望将与该人关联的所有号码压缩为一行,为了容纳任意数量的列,您可能必须使用动态sql
PIVOT
。如果您同意将所有结果放在一列中并用逗号或其他东西分隔,则可以使用
FOR XML()
功能。提供样本数据和预期输出将有助于我们帮助您。@chcha欢迎使用SO-请参阅以下内容以了解如何发布问题:查看样本数据和您希望看到的内容将有助于您。如果同一个人在
电话
表中有多个值,但是如果要将与此人关联的所有数字压缩为一行,则可能必须使用动态sql
PIVOT
,以容纳任意数量的列。如果您同意将所有结果放在一列中并用逗号或其他东西分隔,则可以使用
FOR XML()
功能。提供样本数据和预期输出将有助于我们帮助您。@chcha欢迎使用SO-请参阅以下内容以了解如何发布问题:查看样本数据和您希望看到的内容将有助于您。我认为他/她希望在另一列中显示与某个人相关的每个数字,不仅仅是识别有多个号码的人。我认为他/她希望在另一列中显示与某个人相关的每个号码,而不仅仅是识别有多个号码的人。