sql-server - 尝试多次使用相同列时的 SQL Server View

标签 sql-server sql-server-2005

我有一个名为“computers”的表,其中包含以下列:
row_id
计算机 ID
关键


键等于“3”的行的值包含计算机的名称。
键等于“4”的行的值包含计算机的 IP。
键等于“5”的行的值包含计算机的用户。

Computer_id 代表特定的唯一计算机。

我想创建一个具有以下列的 View :
计算机 ID
姓名
ip_地址
用户

我正在努力思考如何做到这一点。我确信它不会那么复杂,但很难尝试多次引用相同的列(键,值)。

提前致谢。

最佳答案

您可以按计算机 ID 进行分组,并使用 max 和 case 选择正确的键。例如:

select  computer_id
,       max(case when key = 3 then value end) as Name
,       max(case when key = 4 then value end) as IP
,       max(case when key = 5 then value end) as User
from    YourTable
group by
        computer_id

关于sql-server - 尝试多次使用相同列时的 SQL Server View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466720/

相关文章:

sql-server - 最好的 SQL Server 性能优化技术是什么?

SQL 更新导致死锁

SQL Server 需要很长时间才能对几行执行更新查询

c# - 为什么 Entity Framework 在后跟 distinct 时忽略 order by?

c# - 使用 SSIS 和 Azure Key Vault 始终加密的 SQL Server

sql - 是否可以将 WHERE IN 与 LIKE 一起使用?

sql-server - sql server express 2008 r2 客户端和服务器在同一台计算机上运行的最佳协议(protocol)是什么

sql-server - 建议的复制类型?

SQL测试最佳实践

c# - 如何在异常发生之前检测到导致异常的条件?