目标是用数字表示的字符值替换SQL查询中返回的整数值.例如:

标记为‘SPORT’的表属性被定义为1-4之间的整数值.1=篮球,2=曲棍球,依此类推.下面是数据库表,然后是所需的输出.

Database Table:

Player     Team     Sport
--------------------------
Bob        Blue     1
Roy        Red      3
Sarah      Pink     4 

Desired Outputs:

Player     Team     Sport
------------------------------
Bob        Blue     Basketball
Roy        Red      Soccer
Sarah      Pink     Kickball

将这些整数值转换为字符串值的最佳实践是什么?在传递给程序之前,使用SQL翻译值?是否使用脚本语言更改程序中的值?改变数据库设计?

推荐答案

数据库应该保存这些值,并且您应该连接到其中包含该数据的另一个表.

所以你应该有一张桌子,上面有人的名单

ID名称FavSports
1亚历克斯4
2个GNAT 2

然后是另一张桌子,上面有运动项目的 list

ID体育
1篮球
2足球
3足球
4踢球

然后在这些表之间进行连接

select people.name, sports.sport 
from people, sports 
where people.favsport = sports.ID

这会还给你

命名运动

你也可以使用一个 case 陈述,例如,仅仅使用上面的people表,你就可以写下

select name, 
       case 
         when favsport = 1 then 'Basketball' 
         when favsport = 2 then 'Football' 
         when favsport = 3 then 'Soccer' 
         else 'Kickball' 
       end as "Sport" 
from people

但这肯定不是最佳做法.

Database相关问答推荐

powerapps 中的 ClearCollect 未按预期收集数据

华为Appcube中的对象字段类型

无法向 SiriDB 添加新副本

发布 Oracle 和 SQL Server 性能测试是否违反许可?

什么是范围锁( range-locks)?

预测下一个自动插入的行 ID (SQLite)

分布式数据库管理系统 (DDBMS) 中的水平与垂直碎片

Symfony2:spl_object_hash() expects parameter 1 to be object, string given in Doctrine

MongoDB:查询具有两个相等字段 $match 和 $eq 的文档

如何在 SQL Server 中生成随机数据?

返回 SQLite 数据库中表大小的查询

更改列名 Rails

C# 数据连接最佳实践?

从数据库行在 Golang 中创建map

Django 数据库值的最佳推荐方式是什么?

PostgreSQL 哈希索引

Google 的 Bigtable 与关系数据库

xampp phpmyadmin,格式参数不正确

数据库事务是否防止竞争条件?

如果值不为空,则用于更新数据库的 Sql 查询?