【问题标题】:SQL Query Help on separating return result分离返回结果的SQL查询帮助
【发布时间】:2017-07-19 20:37:34
【问题描述】:

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

我希望这是有道理的。提前致谢!

【问题讨论】:

  • 如果同一个人在Phone 表中有多个值,但您希望与该人关联的所有数字压缩到一行中,您可能必须使用动态 sql PIVOT 来排序容纳任意数量的列。如果您可以将所有结果放入单个列并用逗号或其他内容分隔,则可以使用FOR XML() 功能。提供示例数据和预期输出将有助于我们为您提供帮助。
  • @chcha 欢迎来到 SO - 请参阅以下内容了解如何发布问题:spaghettidba.com/2015/04/24/… 这将有助于查看示例数据和您希望看到的内容。

标签: sql-server code-separation


【解决方案1】:

试试这样的:

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

查询将返回多次插入相同 person_id 键的所有记录。

【讨论】:

  • 我认为他/她希望在另一列中显示与一个人关联的每个数字,而不仅仅是识别拥有多个数字的人。
猜你喜欢
  • 1970-01-01
  • 2010-12-07
  • 1970-01-01
  • 2016-01-11
  • 2012-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多