gpt4 book ai didi

mysql - 根据存储在单独表中的信息选择行

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

首先,对于过于模糊的标题,我深表歉意,但我不熟悉此类问题的正确术语。

我正在尝试从 Wiktionary(基于 Wikimedia wiki 的词典)中检索页面标题列表,其中页面必须归类在 English_lemmas 下,但必须不是分类在 English_phrasesEnglish_slangEnglish_%_forms 下(其中 % 是通配符)。

两个必要的表是包含页面信息(page_idpage_title)的page,和包含页面信息的categorylinks包含每个页面所属的类别。

page的相关结构是这样的:

+---------+------------------+
| page_id | page_title |
+---------+------------------+
| 0 | race |
| 1 | racing |
| 2 | that's all folks |
| 3 | fire |
| 4 | psychédélique |
+---------+------------------+

categorylinks的相关结构是这样的:(我添加了换行符以便于阅读)

+---------+-------------------------+
| cl_from | cl_to |
+---------+-------------------------+
| 0 | English_lemmas |
| 0 | English_verbs |

| 1 | English_lemmas |
| 1 | English_verbs |
| 1 | English_non-lemma_forms |

| 2 | English_lemmas |
| 2 | English_phrases |

| 3 | English_lemmas |
| 3 | English_nouns |

| 4 | French_lemmas |
| 4 | French_adjectives |
+---------+-------------------------+

其中 categorylinks.cl_from 是对 page.page_id 的直接引用,categorylinks.cl_to 是类别的标题。

我需要选择 racefire,因为它们都属于 English_lemmas,但不是 racingthat's all folks 因为除了都归入 English_lemmas 之外,它们还归入 English_%_formsEnglish_phrases,而不是 psychédélique,因为它不属于 English_lemmas

因此理想的结果是

+---------+------------------+
| page_id | page_title |
+---------+------------------+
| 0 | race |
| 3 | fire |
+---------+------------------+

这是否可以有效地实现?如果是这样,我怎样才能做到这一点?

我对 SQL 有相当基本的了解(基本的 SELECT、UPDATE 等语句),所以像这样的东西远远超出我的理解范围。

最佳答案

如果我正确理解了您的要求:

select *
from page
where page_id not in (select cl_from from categorylinks
where cl_to like 'English_%_forms'
or cl_to like 'English_phrases')
and page_id in (select cl_from from categorylinks
where cl_to like 'English_lemmas')

关于mysql - 根据存储在单独表中的信息选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47758626/

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