フィルター位置を使用した同じテーブルへの内部結合
P粉278379495
P粉278379495 2024-02-03 18:57:36
0
2
471

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

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

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

リーリー
P粉278379495
P粉278379495

全員に返信(2)
P粉878510551

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

リーリー

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

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

リーリー
いいねを押す +0
P粉248602298

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

に置き換える必要があります。
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート