Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何比较不同表中行中的子字符串_Sql_Sqlite - Fatal编程技术网

Sql 如何比较不同表中行中的子字符串

Sql 如何比较不同表中行中的子字符串,sql,sqlite,Sql,Sqlite,开始学习SQLite,但仍在为没有循环这一事实而挣扎。我已经为我的问题寻找了一天的答案,但是没有找到 我有两张桌子:表1和表2。 表1有一列包含句子,例如“我喜欢苹果”。 表2有几列:其中一列是水果(或蔬菜…),其中包含“苹果”和“香蕉” 我需要在表1中添加一列,将食物分类 使用下表时: Table1: Sentence ---------------- I like apples. I hate bananas. I love cucumber. Table2: fruits

开始学习SQLite,但仍在为没有循环这一事实而挣扎。我已经为我的问题寻找了一天的答案,但是没有找到

我有两张桌子:表1和表2。
表1有一列包含句子,例如“我喜欢苹果”。 表2有几列:其中一列是水果(或蔬菜…),其中包含“苹果”和“香蕉”

我需要在表1中添加一列,将食物分类

使用下表时:

Table1: Sentence ---------------- I like apples. I hate bananas. I love cucumber. Table2: fruits veggies ------ -------- apple cucumber banana tomato grape 表1: 判决 ---------------- 我喜欢苹果。 我讨厌香蕉。 我喜欢黄瓜。 表2: 水果蔬菜 ------ -------- 苹果黄瓜 香蕉番茄 葡萄 得到的表1应该如下所示

Table1: Sentence category ---------------- -------- I like apples. fruits I hate bananas. fruits I love cucumber. veggies 表1: 句类 ---------------- -------- 我喜欢苹果。果实 我讨厌香蕉。果实 我喜欢黄瓜。蔬菜
Table2
中有两列
category
name
,这将是一个更好的设计

无论如何,要添加列,请使用:

要确定特定句子是否属于特定类别条目,请使用:

要分配类别,您必须使用以下选项检查类别中的所有条目:


(与
vegies
相同)

我不得不说,对于表2来说,这是一个非常糟糕的表格设计。您的
table2
似乎没有关系。我认为每一列都应该放在一个单独的表中,或者一个带有指示符的表中,指示每个条目是代表水果还是蔬菜。我刚刚开始学习SQL。我有许多大表(表1),其中包含许多列和行,其中包含大量数据。其中一行包含长字符串。我想对关于这个长字符串的数据进行分类,尽管事实上几乎所有的字符串都是不同的。因此,我创建了一个新的、非常小的表(表2),其中手动包含类别。在我看来,表2不是关系型的,但我认为没有必要。如果你知道一个更好的方法来设置我的系统,那么请让我知道。谢谢你,这正是我需要的。
ALTER TABLE Table1 ADD COLUMN category;
... WHERE Sentence LIKE '%apple%' ...
UPDATE Table1
SET category = 'fruit'
WHERE EXISTS (SELECT *
              FROM Table2
              WHERE Table1.Sentence LIKE '%' || fruits || '%');