sql - 更改从 SQL Server 数据库获取的数据值
问题描述
我正在为我的项目使用 express、sequelize 和 SQL Server。
我有三个表,我必须从这些数据表中读取列。
我的第一个数据库表如下所示:
在第一个查询中,我选择了 Value 列
SELECT Date_Time, Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8
FROM S001T01
实际上我必须阅读所有列但从这里开始的问题,所有状态代码都保存在具有不同代码名称的不同表中,例如,(StatusList Table)
当我收到发布请求时,我必须发送回复
Value1,Status1,Value2,Status2....
但是,将 status 列中的值替换为 statuslist 表中的等价物。例如,它应该写“Veri Yok”(在土耳其语中表示没有数据)而不是 0。
我想过为每一列单独编写一个查询并在数组中更改它,但我认为这会花费很多时间。
我试着写
SELECT
Status1,
Status2,
CASE Status1
WHEN 0 THEN 'Veri YOK'
WHEN 1 THEN 'Veri Geçerli'
END
FROM S001T01
但我有 110 个 StatusCodeName,很难为每一列和每个代码编写。
有没有其他方法可以更改所有列数据?
如果你能帮忙,我会很高兴。
解决方案
显然,您正在使用糟糕的表格设计,所以这里有一些选项:
- 由于您有 8 个值,请加入您的 Statuslist 表八次
SELECT Date_Time, Value1, Value2, Value3, Value4, Value5, Value6, Value7, Value8
sl1.StatusUseCode as Status1, ...... sl8.StatusUseCode as Status8,
FROM S001T01 s
left join StatusList sl1 on s.Status1=sl1.StatusCode
left join StatusList sl2 on s.Status2=sl2.StatusCode
left join StatusList sl3 on s.Status3=sl3.StatusCode
:
:
left join StatusList sl8 on s.Status8=sl8.StatusCode
- 另一个选择有点花哨
一种。将列转为行
湾。加入状态列表
C。转回列
推荐阅读
- php - 从另一个脚本获取用户登录时的表列值
- python - 如果熊猫数据框无法分配给函数调用
- syntax-highlighting - Is it possible to set language on a per file basis in RubyMine?
- javascript - 使用Vue读取当前目录中的文件
- matlab - 使用 for 循环计算累积和
- c# - How to connect Azure with Google Cloud
- struct - Assigning value field of a struct in a Map<..,struct> deletes unspecified values
- c# - How do I focus on a form after entering a textbox
- excel - 范围参考 Excel VBA
- php - Laravel Nova 数据重复