検索

ホームページ  >  に質問  >  本文

フィルター位置を使用した同じテーブルへの内部結合

私を助けてくれてありがとう、私はまだ SQL を学んでいます。 JEDI というメインテーブルがあり、Inner JOIN 条件と Where 条件の使用に関する特定の情報を取得しようとしています。具体的には、特定の日付とそのレベルの間に特定の惑星を訪れた JEDI の数を取得したいと考えています。

次に、同じテーブルで Inner JOIN を使用してフィルタリングし、その特定の惑星に複数のパダワンを持つ JEDI の結果のみを表示したいと思います。 2番目の条件が私を混乱させていると思います。使用したコードとサンプルデータテーブルを貼り付けました

私の結果は 2 だけです。条件を満たすのはマスター オビ=ワンだけです。

リーリー
P粉278379495P粉278379495375日前541

全員に返信(2)返信します

  • P粉878510551

    P粉8785105512024-02-04 16:59:14

    まず、列をグループ化し、HAVING COUNT を使用して重複する値をカウントする必要があります。

    リーリー

    注: この機能は、各 jedi_idjedi.padawan という一意の値がある場合にのみ機能します。このクエリは次のシナリオに適しています。

    ただし、一意の jedi.padawan を計算する別の条件を追加して、各 jedi.jedi_id< 値で < 上重复出现 jedi.padawan が繰り返されるようにすることで、クエリを改善できます。 /code> は含まれません

    リーリー

    返事
    0
  • P粉248602298

    P粉2486022982024-02-04 14:18:54

    これを INNER JOIN jedi ON jedi.jedi_id WHERE COUNT(jedi.padawan)>=2

    に置き換える必要があります。

    返事
    0
  • キャンセル返事