gpt4 book ai didi

mysql - 基于来自另一个字段的 LIKE 构建 MySQL 表

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

我不确定单独使用 SQL 查询是否可行,但我基本上想创建一个这样的表,但在类(class)类型字段上有一个条件,该字段将“进一步”或“更高”存储为基于数字关于“course_type”是什么:

CREATE TABLE IF NOT EXISTS `courses_index` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` text COLLATE utf8_unicode_ci NOT NULL,
`url` text COLLATE utf8_unicode_ci NOT NULL,
`further` int(1) NOT NULL,
`higher` int(1) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT `index` (title, url, course_type)
) AS SELECT title, url, course_type FROM `courses`

我在类(class)表上的 course_type 字段是一个标准文本字段,它将包含一个字符串,例如 "Higher, Further""Further".

我想知道如果这个 course_type 字段是 LIKE %higher% 那么该行的值是 1。同样,如果 course_type 的值为 LIKE %higher%further,则两个字段都存储为 1,依此类推。

这是否可以通过创建临时表或巧妙的 MySQL 查询来实现?

提前致谢

蒂姆

最佳答案

以下应该有效:

CREATE TABLE ...
AS
SELECT title,
url,
CASE
WHEN course_type LIKE '%Further%' THEN 1
ELSE 0
END as further,
CASE
WHEN course_type LIKE '%Higher%' THEN 1
ELSE 0
END as higher
FROM `courses`

编辑修复了错误的语法

另见 this sqlfiddle

关于mysql - 基于来自另一个字段的 LIKE 构建 MySQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13529567/

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