mysql - 如果包含新变量 SQL 的语句
问题描述
需要帮助更正我的 if 语句代码以创建新变量。
这是为了帮助清理我的业务项目的数据集。我想在一个列中搜索多个值,如果该列包含任何这些值,它将将该值添加到另一列。自从我在学校学习 sql 以来已经有一段时间了,我的代码需要一些帮助。
我目前正在使用 Domo/MySQL 工具编写代码。本质上,我想在 url 中找到一个广告商名称,并将该广告商返回到一个新列中,并将其添加到数据集中。
我已经尝试了一些东西,但我不确定该使用什么。
Select `Page`
from `google_analytics_automation_test`
ALTER TABLE `google_analytics_automation_test`
ADD COLUMN Advertiser varchar(255) NOT NULL;
alter table `google_analytics_automation_test`
Add Advertiser AS
(CASE WHEN `Page` LIKE '%Aloxxi%' THEN Advertiser IS 'Aloxxi'
WHEN `Page` LIKE '%Alfaparf%' THEN Advertiser IS 'AlfaParf'
ELSE 'NA'
)
END AS 'Advertiser'
FROM `google_analytics_automation_test`;
我希望代码搜索一列并返回广告商名称,因为我给它一个所有广告商的列表。然后将该新列添加到我的名为 x 的数据集中。
如果 col.a 包含 apple 那么 col.b 是 Apple 如果 col.a 包含 novalash 那么 col.b 是 Nova Lash
前任:
Col A Col B
www.google.com/apple Apple
www.modernsalon.com/set-of-novalash-eyelash-extensions Nova Lash
解决方案
查看 CASE 的语法,您在其中有很多不必要的 IS、AS 和 [columnname]。
正确的语法——
ALTER TABLE google_analytics_automation_test
ADD COLUMN Advertiser varchar(255) AS (
CASE WHEN Page LIKE '%Aloxxi%' THEN 'Aloxxi'
WHEN Page LIKE '%Alfaparf%' THEN 'AlfaParf'
ELSE 'NA'
END
);
推荐阅读
- java - 在 Liferay 中使用 OkHttp 来使用外部的 REST API。OSGi 的问题
- c# - Newtonsoft.Json.JsonSerializationException('从'Goodbuy.Models.product'上的'Id'获取值时出错。')将领域对象序列化为json
- excel - Excel 2019 - 如何使用 VBA 检测在 Excel 主菜单“文件”下拉菜单上所做的选择?
- java - 我断言在 Java 中不会发生错误。我该如何编码?
- android - 如何在 Retrofit Android 中使用 JSON 响应管理模型类?
- haskell - 将函数应用于 Haskell 中的元素列表
- c++ - 将泛型函数分配给函数指针 struct memeber
- tensorflow - 检查Tensorflow中的类分布?
- javascript - NodeJS:获取文件夹中的图像文件大小,如果图像太大则压缩
- javascript - 从 Promise react native 中获取价值并结合到 Axios 标头