SQL Server:如何在选择期间从另一个表设置列别名?

2024-01-26

我有2张桌子

Table 1:

DB1, DB2, DB3, DB4, DB5, Some other identifiers

Table 2:

EnumText, EnumValue, Some other identifiers

我想做的是:-

  1. 从表1中选择数据
  2. 在选择期间,使用表 2 的 EnumText 列中的数据更改列 DB1 到 DB5 的别名,其中 EnumValue 将包含 DB1 到 DB5。

示例命令是:

Select 
    DB1 as [Select EnumText from Table2 where EnumValue='DB1'], 
    DB2, DB3 
from Table1

这个命令不起作用,但我希望你们能明白。

先感谢您。


没有动态 SQL,就不可能有动态别名。如果您确实更改了结果集列名称,如何通过名称访问它们? (我不会使用索引,因为它会破坏)

所以,你可以添加一个固定列来描述它。并阅读that

Select 
    DB1, foo.EnumText AS DB1EnumText, 
    DB2, 
    DB3 
from 
    Table1
    CROSS JOIN
    (Select EnumText from Table2 where EnumValue='DB1') foo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL Server:如何在选择期间从另一个表设置列别名? 的相关文章

  • SQL Server 将 XML 子节点附加到父节点

    我需要一个脚本 可以将新的 xml 子节点插入 附加到预先存在的 xml 父节点 New child nodes DECLARE XMLChildData XML SET XMLChildData
  • 列出 pandas.read_sql 中的 sql 表

    我想打开一个 SQL 2005 数据库 文件扩展名为 mdf 我一直在尝试这样做 import pandas as pd import pyodbc server server name db database name conn pyod
  • 如何根据条件选择列?

    我有一个名为 status 的变量 我在此 select 语句之前设置了它 Select ordr num as num ordr date as date ordr ship with as shipwith From order whe
  • IN SQL Server 是 CLR 线程安全的

    我在 SQL Server 和 Exchange Web 服务之间的 CLR 中有一个接口 用于在应用程序之间同步和发送电子邮件 在测试中它可以正常工作 没有任何问题 我们在生产环境中发现了零星问题 其中较长的 Web 服务任务似乎重叠 我
  • 什么是“具有指定instance_id的DacInstance不存在。(Microsoft SQL Server,36004)”?

    我正在尝试使用 dacpac 升级远程 SQL Server 2012 数据库 但收到以下消息 指定instance id 的DacInstance 不存在 微软 SQL Server 36004 我试图在互联网上搜索但找不到任何东西 有任
  • 无法加入交易

    我有问题 我已经在 Windows 中设置了 1 个 sql 服务器 SQL Server 2014 Express 并在另一台服务器的 Linux 中设置了 1 个 Oracle 数据库服务器 11g 现在我想通过链接服务器将数据从SQL
  • SQL Server 之间的日期 LIKE

    请帮我如何插入LIKE 之间的日期 例子是 SELECT FROM table WHERE Date BETWEEN startDate AND endDate 所以在这段代码中我应该把LIKE这样数据就会出现 例如 如果我这样设置 SEL
  • SQL Compact 3.5附加多个数据库/跨数据库查询?

    是否可以将多个数据库附加到 SQL CE 3 5 精简版 例如MasterData sdf Orders sdf 并对它们应用查询 例如 选择 Orders iOrderID Orders cItemID MasterData cItemD
  • 触发器定义中的 DELETE 语句问题

    我创建了一个插入 更新触发器 旨在根据插入的数据更新不同表中的信息 触发器执行 或应该执行 的最后一件事是从目标表中删除所有数据 这些数据的条件在触发器的插入部分期间可能已更改 除了最后的之外 一切似乎都在触发DELETE陈述 它正在执行D
  • 查找每个客户组的最新帐户

    我有一个包含客户信息的表 每个客户都会分配一个客户 ID 他们的 SSN 他们在开设更多帐户时会保留该 ID 两个客户可能使用同一个帐户 每个客户都有自己的 ID 帐号不按日期排序 我想找到每个客户或客户组的最新帐户 如果两个客户曾经一起使
  • 插入 SQL Server 视图时使用 @@identity 或输出?

    请原谅我 我对 StackOverflow 和 SQL 都是新手 Tl dr 使用时 identity 或任何其他选项 例如scope identity或输出变量 是否也可以使用视图 这是一个使用存储过程的示例 identity SNIP
  • 在sql server中,sys.types中的user_type_id和system_type_id有什么区别

    sql server中sys types视图中的user type id和system type id有什么区别 我想将sys columns与sys types进行内连接以获取用户表中列的数据类型 但这两个视图都有两个字段user typ
  • 存储过程 EXEC 与 sp_executesql 的区别?

    我写了两个存储过程 其中一个是sp executesql而其他没有 sp executesql 两者都正确执行相同的结果 我不明白两者之间有什么区别 EXEC SQL 与 EXEC sp executesql SQL N eStatus v
  • Redis 与 SQL Server 性能对比

    应用程序性能是使用缓存而不是关系数据库的主要原因之一 因为它以键值对的形式将数据存储在内存中 所以我们可以将经常访问的不经常更改的数据存储在缓存中 从缓存中读取比从数据库中读取要快得多 Redis 是分布式缓存市场上最好的解决方案之一 我正
  • mssql 的 UUID 疯狂

    我的数据库条目有一个 UUID 及其值 使用 Microsoft SQL Server Management Studio 提取 CDF86F27 AFF4 2E47 BABB 2F46B079E98B 将其加载到我的 Scala 应用程序
  • SQL Server 数据归档解决方案

    我正在寻找一种解决方案来存档数据库中存在的数据 我的数据库是 SQL Server 2008 大约有 250 个表 我搜索网络并找到以下链接 http www dbazine com sql sql articles charran13 h
  • 使用存储过程访问数据可以提供哪些安全优势?

    我看到一些指南建议您通过存储过程对所有数据访问进行分层来保护数据库 我知道对于 SQL Server 您可以保护表甚至列免受 CRUD 操作的影响 例如 Logged in as sa USE AdventureWorks GRANT SE
  • 没有 DateAdd() 的 SSIS 表达式前一个日期

    目前正在开发一个包 它将表达式从先前的日期传递到文件名 我当前的代码如下作为字符串变量 DT WSTR 20 DATEPART YYYY Dateadd DD 1 dateadd MM datediff MM DT DATE 1900 01
  • SQL Server:比较两个表中的列

    我最近完成了从某些应用程序的旧版本到当前版本的迁移 在迁移数据库时遇到了一些问题 我需要一个可以帮助我比较两个表中的列的查询 我的意思不是行中的数据 我需要比较列本身来弄清楚我错过了表结构的哪些变化 看一下红门 SQL 比较 http ww
  • 简单的t-sql而不是触发器

    任何人都可以帮助解决简单的 t sql 脚本与板载触发器的问题吗 我使用非常简单的触发器将数据从一个表复制到另一个表 这些表之间没有关系 当我尝试在触发器创建后 从同一脚本 直接第一次插入数据时 我得到了所需的结果 但所有接下来的尝试都会失

随机推荐