当前位置: 首页 > 面试题库 >

SQL选择列名称作为值

糜帅
2023-03-14
问题内容

我有一个带有列名称的数据表:

period, Truck, Car, Boat

其中“列”包含数字值,“期间”列是具有1到48的标识列,因此有48行。

我想将此表按摩成一种格式,在该格式中,我具有“名称”列和“值”列以及“期间”列。

period, NameOfVehicle, Value

我想创建原始表的视图来执行此操作吗?如何选择列名称,并将其以及该列中的正确值放入NameOfVehicle和Value列中?


问题答案:

如果您有固定的列,则始终可以执行以下操作:

SELECT period, 'Truck' AS NameOfVehicle, Truck AS Value FROM vehicle
UNION ALL
SELECT period, 'Car', Car FROM vehicle
UNION ALL
SELECT period, 'Boat', Boat FROM vehicle

如果列是动态的或未知的,则难度会增加一些,并将依赖于特定于供应商的功能来查询架构和动态SQL语句。



 类似资料:
  • 问题内容: 我有一个看起来像这样的mysql表: 我希望能够查询得到多行,每一列一个。例如: 这会给我: 我需要用什么来制定这样的查询? 问题答案: 您必须首先将每个指定字段的数据应用于结果。 询问 签 出 SQLFIDDLE

  • 问题内容: 我链接到允许在列名称中使用句点的ProficyHistorian。因为数据是以非DBMS格式存储的,所以我不能用来获取数据,因为表没有设置模式。因此,我必须使用四部分名称语法来获取数据。此示例有效: 但这失败,因为 ‘。’附近的语法不正确。 列的名称在哪里 关键字’from’附近的语法不正确 也会失败 。 关于如何使SQL Server将其视为专栏的任何想法? 编辑: Martins建

  • 问题内容: 在MSSQL服务器上,给出以下表: 我可以发出类似的查询: 并得到类似: 如果我想要这样的数据,查询数据库的最有效方法是什么? 数据库结构要复杂得多,不幸的是我无法更改它。 编辑 :解决方案不应在查询中使用和作为硬编码值。 问题答案: 对于SQL Server 2005+,可以使用动态SQL和。

  • 问题内容: 我有一个旧的用户信息表(仍在使用中),并且不能更改- 时区/语言/国家等只是名称的示例,它们可以是可变的/除了该列的行上的唯一列表外,没有其他任何有限列表 我需要一个MySQL兼容的SQL查询,该查询将返回- 我已经研究了关于将数据透视表功能窃取到MySQL的关于stackoverflow的各种答案,类似的方法,但是似乎没有一个比从相同表的列的唯一行值使用变量列名别名的情况更好。尽管我

  • 问题内容: 这是我的基本表(显示为关联数组): 在另一个名为的表上,我可以添加多个属于一行的自定义数据。像这样: 我目前正在制作,但它只会增加,并给我行。我想要的是我的查询返回如下内容: 行值变成一列,而,它就是值。 我该怎么做? 问题答案: SELECT a.ID, a.Campaign_ID, a.FirstName, a.LastName, MAX(CASE WHEN b.data = ‘q

  • 问题内容: 我有一个带有下表的WordPress数据库 帖子 后元 并有记录与值和 如何编写SQL以显示列名和结果列名? 下面的查询是我的起点 问题答案: 这听起来像你想的和值。不幸的是,MySQL没有函数,但是您可以使用带有以下语句的聚合函数来复制它: 参见带有演示的SQL Fiddle