如何在SQL中使用公式填充类似Excel中的列。

12 浏览
0 Comments

如何在SQL中使用公式填充类似Excel中的列。

我的数据库是MySQL。

我有一张表,假设有4列。

我想知道是否有可能,并且如何实现以下内容:根据第2列和第3列的值填充第4列。

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

我只是举个例子。

我在Excel中的真正公式是这样的:=IF(K4=4;"Maximal";IF(K4>4;"Maximal";IF(K4=3;"Important";IF(K4>3;"Important";IF(K4=2;"Limited";IF(K4>2;"Limited";IF(K4=1;"Forgettable";IF(K4>1;"Forgettable";"error"))))))))

但是我想在SQL中实现它。

我考虑创建我的表直到第3列,将第4列设置为NULL或空,然后打开一个用Java编写的GUI,也许在那里编写一段代码,根据第2列和第3列中的内容自动填充第4列(这些值可以通过选择列表选择)。

但如果有办法直接在SQL中做到这一点,我很感兴趣。

非常感谢您的帮助。

问候

0
0 Comments

问题:在SQL中如何使用公式填充列,类似于Excel中的操作?

在SQL中,我们经常需要对数据进行计算和转换。与Excel类似,有时我们希望使用公式来填充一个列,而不是手动逐行计算。然而,SQL并没有直接提供类似于Excel的填充列功能,因此我们需要找到一种解决方法。

解决方法:创建一个自定义函数来实现填充列的功能。我们可以定义一个名为udfGetColumn4Value的SQL函数,该函数接受column2和column3作为参数,并返回一个值。

下面是一个示例代码,展示了如何创建一个SQL函数来实现填充列的操作:

CREATE FUNCTION udfGetColumn4Value(@column2 datatype, @column3 datatype)
RETURNS datatype
AS
BEGIN
    -- 在这里编写你的公式逻辑,根据column2和column3计算出需要的值并返回
    -- 例如:返回column2和column3的和
    RETURN @column2 + @column3
END

创建完函数后,我们可以使用该函数在查询中生成一个新的列。例如,我们可以运行以下查询来选择column2、column3和通过udfGetColumn4Value函数计算出的新列:

SELECT column2, column3, udfGetColumn4Value(column2, column3) AS column4
FROM table_name

通过这种方法,我们可以在SQL中使用公式来填充列,实现类似于Excel中的功能。

希望这篇文章能够帮助你解决在SQL中使用公式填充列的问题。

0
0 Comments

SQL中如何像Excel一样使用公式填充列的问题是因为用户想要通过使用公式来填充列中的NULL值,从而根据其他列中的值的要求进行更新。解决方法是使用SQL的UPDATE语句来更新具有特定条件的行的某一列的值。只需为列2和列3中值的每个组合创建一个更新语句即可。以下是解决该问题的步骤:

1. 首先创建一个示例表,可以使用临时表来模拟示例。示例代码如下:

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

2. 插入一些示例数据,用于演示。示例代码如下:

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

3. 根据特定条件创建更新语句。示例代码如下:

UPDATE demoTable dt 
SET dt."Col4" = 'super'
WHERE dt."Col2" = 'grey' AND dt."Col3" = 'car';

通过以上步骤,用户可以在SQL中像在Excel中一样使用公式来填充列中的NULL值。

0
0 Comments

在SQL中,有时候我们需要像Excel一样使用公式来填充某一列的数据。下面的内容展示了一个解决这个问题的方法。

首先,我们有一个表格叫做mytable,其中包含了两列Col1和Col2。Col1列中的数据是0到4之间的数字,而Col2列中的数据暂时为空。

我们想要根据Col1列的值来填充Col2列。具体来说,当Col1的值小于1时,我们想要在Col2中显示"Error";当Col1的值等于1时,我们想要在Col2中显示"Forget";当Col1的值等于2时,我们想要在Col2中显示"Limited";当Col1的值等于3时,我们想要在Col2中显示"Important";当Col1的值等于4时,我们想要在Col2中显示"Maximal"。

为了实现这一目的,我们可以使用SQL的CASE语句。首先,我们可以使用SELECT语句来查看mytable表的内容。然后,我们可以使用UPDATE语句和CASE语句来更新Col2列的数据。最后,我们再次使用SELECT语句来查看更新后的mytable表的内容。

在上面的例子中,我们使用了以下的SQL语句来实现我们的目标:

update mytable Set Col2 =
Case
When Col1<1 Then 'Error' 
When Col1=1 Then 'Forget' 
When Col1=2 Then 'Limited' 
When Col1=3 Then 'Important' 
When Col1=4 Then 'Maximal' 
End

这段代码中,我们首先使用UPDATE语句来更新mytable表中的数据。我们将Col2列的值根据Col1的值来进行设定。当Col1的值满足不同的条件时,我们使用CASE语句来给Col2赋予不同的值。

最后,我们再次使用SELECT语句来查看更新后的mytable表的内容。可以看到,Col2列的值已经根据Col1的值进行了相应的填充。

通过以上的方法,我们可以在SQL中使用类似Excel中公式的方式来填充某一列的数据。这样,我们可以更加灵活地处理数据,并且节省了手动填充数据的时间和劳动。

0