別のテーブルに保存されている情報に基づいて行を選択します

AlphaDelta

まず、タイトルがあいまいすぎて申し訳ありませんが、このような問題の適切な用語に慣れていません。

Wiktionary(Wikimedia wikiベースの辞書)からページタイトルのリストを取得しようとしています。ページはEnglish_lemmas、の分類する必要がありますが、、、、および(%はワイルドカード)の分類することできませEnglish_phrasesEnglish_slangEnglish_%_forms

必要な2つのテーブルはpageページ情報(page_idpage_titlecategorylinksを含み、各ページが分類されるカテゴリを含みます。

の関連する構造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はカテゴリのタイトルです。

私は選択する必要がありますraceし、fire彼らは両方の下に分類されているようEnglish_lemmasしかし、ではない racingか、that's all folksほかのように両方の下に分類されることにEnglish_lemmas、彼らはまた、下に分類されているEnglish_%_formsEnglish_phrases、それぞれはなくpsychédélique、それが下に分類されていないようEnglish_lemmas

したがって、理想的な結果は次のようになります。

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

これは効率的に達成できるものですか?もしそうなら、どうすればこれを達成できますか?

私はSQL(基本的なSELECT、UPDATEなどのステートメント)についてかなり基本的な知識を持っているので、このようなことは私の理解をはるかに超えています。

tonypdmtr

私があなたの要件を正しく理解した場合:

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')

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SQL:入力されているか空の場合、別のテーブルに基づいて行を選択します

分類Dev

別のテーブルに基づいて、表示フラグのある行を選択します

分類Dev

別のテーブルに基づいて、表示フラグのある行を選択します

分類Dev

現在挿入されている行に基づいて、別のテーブルに行を作成します

分類Dev

別のテーブルの最大値に基づいてテーブルから行を選択します

分類Dev

別のテーブルで選択した行に基づいて、あるテーブルからデータを選択します

分類Dev

別のテーブルのデータに基づいてテーブルから行を選択する

分類Dev

OracleSQLを使用して別のテーブルから分割された正規表現に基づいてテーブルから選択します

分類Dev

条件に基づいて別のテーブルから選択します

分類Dev

別のテーブルに基づいてデータを選択する

分類Dev

最初のテーブルの情報に基づいて2番目のテーブルを選択するときにSQLクエリを表現する方法

分類Dev

APL言語の「Excel」テーブルによって提供される情報に基づいてバイナリマトリックスを作成します

分類Dev

別のテーブルにある情報を含むすべての情報を一緒に選択するにはどうすればよいですか?

分類Dev

結合されたテーブルの条件に基づいてCOUNT(*)を選択します

分類Dev

追加のテーブルの条件に基づいて行を選択するMySQL

分類Dev

内容に基づいて行をコピーし、行の内容に基づいて選択された別のシートに貼り付けます

分類Dev

いくつかの値に基づいて、テーブルのいくつかの行を選択します

分類Dev

SQL-別のテーブルの値に基づいて行を選択する方法は?

分類Dev

別のテーブルの情報に基づいて、行ベースへの変更の履歴追跡を構築します

分類Dev

別のファイルで指定された範囲に基づいて複数列の行を選択します

分類Dev

テーブルに格納されているテーブルと列の情報に基づいてSQLクエリを動的に構築する

分類Dev

1つのテーブルから行を選択し、別のテーブルの行に基づいて値を調整する

分類Dev

現在の値に保存されている値に基づいて、別のテーブルから値を確認します

分類Dev

別のテーブルの選択に基づいてテーブルの列に値を挿入する方法

分類Dev

行が存在するテーブルに基づいて、列に異なる値を選択します

分類Dev

MySqlを使用してテーブルの優先順位に基づいて行の値を選択する方法

分類Dev

フィールドに基づいてテーブルの最新の行のみを選択します

分類Dev

テーブルの情報に基づいてクエリを作成する

分類Dev

TSQL別のSelectの値に基づいてテーブルを選択します

Related 関連記事

  1. 1

    SQL:入力されているか空の場合、別のテーブルに基づいて行を選択します

  2. 2

    別のテーブルに基づいて、表示フラグのある行を選択します

  3. 3

    別のテーブルに基づいて、表示フラグのある行を選択します

  4. 4

    現在挿入されている行に基づいて、別のテーブルに行を作成します

  5. 5

    別のテーブルの最大値に基づいてテーブルから行を選択します

  6. 6

    別のテーブルで選択した行に基づいて、あるテーブルからデータを選択します

  7. 7

    別のテーブルのデータに基づいてテーブルから行を選択する

  8. 8

    OracleSQLを使用して別のテーブルから分割された正規表現に基づいてテーブルから選択します

  9. 9

    条件に基づいて別のテーブルから選択します

  10. 10

    別のテーブルに基づいてデータを選択する

  11. 11

    最初のテーブルの情報に基づいて2番目のテーブルを選択するときにSQLクエリを表現する方法

  12. 12

    APL言語の「Excel」テーブルによって提供される情報に基づいてバイナリマトリックスを作成します

  13. 13

    別のテーブルにある情報を含むすべての情報を一緒に選択するにはどうすればよいですか?

  14. 14

    結合されたテーブルの条件に基づいてCOUNT(*)を選択します

  15. 15

    追加のテーブルの条件に基づいて行を選択するMySQL

  16. 16

    内容に基づいて行をコピーし、行の内容に基づいて選択された別のシートに貼り付けます

  17. 17

    いくつかの値に基づいて、テーブルのいくつかの行を選択します

  18. 18

    SQL-別のテーブルの値に基づいて行を選択する方法は?

  19. 19

    別のテーブルの情報に基づいて、行ベースへの変更の履歴追跡を構築します

  20. 20

    別のファイルで指定された範囲に基づいて複数列の行を選択します

  21. 21

    テーブルに格納されているテーブルと列の情報に基づいてSQLクエリを動的に構築する

  22. 22

    1つのテーブルから行を選択し、別のテーブルの行に基づいて値を調整する

  23. 23

    現在の値に保存されている値に基づいて、別のテーブルから値を確認します

  24. 24

    別のテーブルの選択に基づいてテーブルの列に値を挿入する方法

  25. 25

    行が存在するテーブルに基づいて、列に異なる値を選択します

  26. 26

    MySqlを使用してテーブルの優先順位に基づいて行の値を選択する方法

  27. 27

    フィールドに基づいてテーブルの最新の行のみを選択します

  28. 28

    テーブルの情報に基づいてクエリを作成する

  29. 29

    TSQL別のSelectの値に基づいてテーブルを選択します

ホットタグ

アーカイブ