mysql - SQL - 根据另一个列值设置列值

标签 mysql sql

我的数据库包含以下关键列

My database layout

我想要做的是使用提供的信息创建 2 个新列,其中包含基于其他 2 列的值。

1) 'win' 列 - 如果 'pos' = 1,则值为 (BSP - 1) - EG One for Billy 将读取 1.06,否则将读取“-1”

2) 'diditplace' 列 - 如果 'Placed' = 1,则值将为 (place - 1) - EG One for Billy 将读取 0.27,否则它将读取“-1”

最佳答案

试试这个:

UPDATE myTable
SET    newColumn1 = CASE pos WHEN 1 THEN 'BSCP - 1' ELSE '-1' END,
       newColumn2 = CASE placeId WHEN 1 THEN 'place - 1' ELSE '-1' END

如果您想添加新列,请在之前添加:

ALTER myTable
      ADD COLUMN newColumn1 VARCHAR(256) NOT NULL,
      ADD COLUMN newColumn2 VARCHAR(256) NOT NULL

newColumn1newColumn2 替换为您所需的列名称。

关于mysql - SQL - 根据另一个列值设置列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51842262/

相关文章:

MySQL根据列名删除行

php - 正确使用 PHP IF 语句

c# - 由于 SSL,Web 服务调用在 SQL Clr 代码中失败

.net - '/' 附近的语法不正确

SQL 查询 - 计数 - 最大值

java - MySQL从存储引擎读取自增值失败

c# - 对 MySql 列进行计时 C# 和 php

sql - 查找具有所有值的 ID(mySQL、SQL)

sql - SQLite 中的累积求和值

java - 如何在NamedQuery中使用正确的HQL