gpt4 book ai didi

mysql - SQL如何像Excel一样使用公式填充列

转载 作者:行者123 更新时间:2023-11-29 11:24:22 24 4
gpt4 key购买 nike

我的数据库在MySQL

我有一个表,假设有 4 列。我想知道是否可以,以及如何实现以下内容:根据第2列和第3列的值填充第4列

在Excel中我有一个公式,举个例子:如果第2列的值设置为“灰色”,第3列的值设置为“汽车”,那么第4列的值应设置为“ super ”

我只是举个例子。

我在 Excel 中的真实公式如下所示:=IF(K4=4;"Maximal";IF(K4>4;"Maximal";IF(K4=3;"Important";IF(K4> 3;"重要";IF(K4=2;"有限";IF(K4>2;"有限";IF(K4=1;"容易忘记";IF(K4>1;"容易忘记";"错误") )))))))

但是我想用 SQL 来完成它。我正在考虑创建我的表,直到第3列,将第4列设置为NULL或空,然后打开用Java编写的GUI,也许有一段代码可以根据第2列和第4列中的内容自动填充第4列3(这些值可通过选择列表进行选择)。但如果有一种方法可以直接在 SQL 中完成,我很感兴趣

提前非常感谢您的帮助。

问候

最佳答案

是的。您可以根据特定行其他列中其他值的某些要求,使用 Update 语句轻松更新 NULL 值

UPDATE <tablename> 
SET <column> = 'value'
WHERE <condition>

这里唯一的缺点可能是您必须为第 2 列和第 3 列中的值的每个组合创建一个更新语句。 (但是,对于您的条件而言,这并不是太多工作)。

我创建了一个示例(演示):

  1. Creating a table in SQL according to your example could look like this,I used a temporary one for the sake of an example:
CREATE GLOBAL TEMPORARY TABLE demoTable (
"Col1" VARCHAR2(50 BYTE) NOT NULL,
"Col2" VARCHAR2(50 BYTE) NOT NULL,
"Col3" VARCHAR2(50 BYTE) NOT NULL,
"Col4" VARCHAR2(50 BYTE) DEFAULT NULL
)
ON COMMIT PRESERVE ROWS
  1. I also inserted some dummy data:

INSERT INTO demoTable VALUES ('Charles', 'grey', 'car', NULL);
INSERT INTO demoTable VALUES ('Alice', 'grey', 'bike', NULL);
INSERT INTO demoTable VALUES ('Bob', 'red', 'car', NULL);

The result:

enter image description here

  1. Now, create the update statements like this, for example:
UPDATE demoTable dt 
SET dt."Col4" = 'super'
WHERE dt."Col2" = 'grey' AND dt."Col3" = 'car';

The result

enter image description here

关于mysql - SQL如何像Excel一样使用公式填充列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38480789/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com