回答

收藏

SQL选择列名作为值

技术问答 技术问答 225 人阅读 | 0 人回复 | 2023-09-14

我有一个列名数据表:+ d: u0 y3 _/ f7 p, C
period,Truck,Car,Boat列包含数字值,期间列为1至48个标志列,因此有48行。
" f0 z* }$ y5 v/ `! I. G; i我想把这个表按摩成一种格式。在这种格式中,我有名称列、值列和期间列。
9 _3 }2 {. V6 B9 B! }7 m8 O3 iperiod,NameOfVehicle,Value我想创建原始表的视图来执行此操作吗?如何选择列名,并将其和列中的正确值放入NameOfVehicle和Value列中?; z/ `- v  a6 u1 W; F
                                                               
  B+ u" t, A( y. f: v' ~    解决方案:                                                                6 G8 j+ A* C% [- U# A8 K/ T" `. i
                                                                若您有固定列,则始终可执行以下操作:
+ S. T( c, X! f+ b: iSELECT period,'Truck' AS NameOfVehicle,Truck AS Value FROM vehicleUNION ALLSELECT period,'Car',Car FROM vehicleUNION ALLSELECT period,'Boat',Boat FROM vehicle如果列是动态的或未知的,它将更加困难,并将依赖于供应商的特定功能来查询架构和动态SQL语句。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则