問題タブ [self-join]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
312 参照

mysql - MySQL 自己結合の質問

次の mySQL クエリを見てください。

上記のクエリは、最初に内側のクエリを介してすべての friends.sub のセットを作成し、次に外側のクエリが、内側のクエリによって作成されたセット (つまり、2 つのセットの和集合) 内にユーザー ID が含まれているユーザーのリストを選択します。 .

そして、これはうまくいきます。しかし、内部セットに dom = 1 のサブだけでなく、サブ = 1 のドムも含める必要がある場合は、次のようになります。外部クエリは上記と同じままで、純粋な擬似コード:

この種の機能を内部ク​​エリで作成することは可能ですか??

どんな助けや援助も感謝します;-D

どうもありがとう、私の頭痛はなくなりました!

0 投票する
2 に答える
232 参照

tsql - グループの発生率が最も低い自己参加

T-SQLに問題があり、解決するのが難しいと感じています。

key1とkey2でグループ化されたレコードのグループを含むテーブルがあります。各グループを日付順に時系列で並べ替えます。各レコードについて、フィールド「データフィールド」が現在のレコードの「データフィールド」との許可された組み合わせを形成するレコードが以前に(グループ内で、日付が低い)存在したかどうかを確認したいと思います。許可された組み合わせについては、AllowedCombinationsTableというテーブルがあります。

私はそれを達成するために次のコードを書きました:

次に、これらの可能な組み合わせレコードのそれぞれについて、最初のレコードを選択します(コードのプレースホルダーを参照)。どうすれば最も効率的にそれを行うことができますか?


編集:OK、ソースについて考えてみましょう。グループ(1、1)のみが表示されます。

AllowedCombinationsTable:

私の参加後、私は今持っています:

レコード4「犬」の最初の「馬」とレコード5「猫」の最初の「馬」だけを表示したい。

それを得る?;)

0 投票する
3 に答える
1767 参照

c# - ツリーレベルで階層的自己結合テーブルを解析していますか?

ご覧のとおり、自己参照カテゴリ テーブルがあります。
代替テキスト

このテーブルを解析して、各カテゴリのツリー レベルを調べたいと思います。たとえば、ルート ノード レベルが 0 の場合、CPU とハード ドライブ、VGA と RAM はレベル 1 になります。どうすればそれを処理できますか?
各カテゴリ ID とそのレベルを配置する辞書を作成しました。

Key は CategoryId で、Value は Level です。辞書を埋める方法を教えてください。

0 投票する
2 に答える
657 参照

sql - mysql 4.0 との互換性のために、SQL のネストされたサブクエリを結合クエリに変換するのに役立ちます

ネストされた SQL クエリがあります。

私の Web サーバーは、ネストされたクエリを許可しない MySQL 4.0 を実行しています。JOIN 用語を使用して同じクエリを提案できる SQL の第一人者はいますか? 私は試してみました...しかし、私はこれを理解することはできません。ばかげた感じ。

0 投票する
2 に答える
170 参照

mysql - MySQLでテーブルを結合するよりも効率的なものはありますか?

entity-attribute-value構造のテーブルがあります。例として、エンティティとして私はさまざまな国を持つことができます。私は次の属性を持つことができます:「に位置する」、「と国境を接している」、「首都」。

次に、「アジアに位置し」、「ロシアと国境を接している」国をすべて見つけたいと思います。これを行う簡単な方法は、エンティティを使用してテーブルをそれ自体と結合することです。これは、結合してからを使用するための列ですwhere

ただし、エンティティ列にロシアが含まれる20行がある場合、ジョイントテーブルよりも、ロシアをエンティティとして20 * 20=400行になります。そして、それはすべての国に当てはまります。だから、ジョイントテーブルは巨大になるでしょう。

元の表を使用してアジアにあるすべての国を抽出し、次にロシアと国境を接しているすべての国を抽出してから、両方の国にある要素を使用する方が効率的ではないでしょうか。

0 投票する
5 に答える
5279 参照

sql - 1つのフィールドに同じ値を持つテーブルから行を選択する

次の2つのテーブルを持つMySQLデータベースがあります。

同じ家庭教師を共有する学生のイニシャルと名前を返すためのクエリは何ですか?

試しSELECT intials, lastName FROM Student WHERE tutorId = tutorId ましたが、すべての生徒の名前が返されます。

0 投票する
2 に答える
2446 参照

mysql - 同じテーブル フィールド内の要素のすべての組み合わせを取得する MySql クエリ

ネットワーク ノード マッピング プログラムで使用するために、MySql テーブルを再フォーマットしたいと考えています。元の形式は次のとおりです。

そして、すべての組織名を次のような 2 つの出力テーブルにプルしたいと思います。

org1 と org2 は両方とも、元のテーブルの同じフィールドから取得され、1 つ以上のスクライブを共有することによって相互に関連付けられています。すべてのスクライブには一意の ID があります。もちろん、重複したエントリは必要ありません。

私がこれまでにできることは、次のように、組織の '%text%' 検索を実行し、その組織を出力から除外することによって、リスト内のいずれかの組織に接続されているすべての組織を取得することです。

そのため、自己結合またはそれが機能するケースについていくつかのトリックがあるように感じますが、まだ何も見つけていません。

0 投票する
7 に答える
492 参照

sql - テーブルをそれ自体に結合することの何が問題になっていますか?

TempAllAddresses次の列で呼び出されるテーブルがあります- ID、、、。新しいテーブルに、、およびを入力したいと考えています。TempAllAddresses テーブル内に、このアドレスのようなアドレスの後にワイルドカードが続くレコードがいくつあるかを表す必要があります。それが意味をなさない場合は、ここに説明する例があります-次のようなレコードがあるとしましょう:AddressStateAddressStateCountCount

AddressCount私がしたいことは、 の 13 フェニックス、 のAddressNY State、および州として NY を持ち、 '13 Phoenix%' のようなアドレスを持つテーブル内のレコードの数を持つという名前の新しいテーブルに新しいレコードを挿入することですCount。_

TempAllAddresses 自体の内部結合でこれを達成したいと考えています。これは私が試したものですが、探しているものを達成していないようです:

ただし、カウントは間違いなくオフです。" " を実行するのと同じはずSELECT COUNT(*) FROM TempAllAddresses WHERE State=thisRecordsState and Address LIKE thisRecordsAddress + '%'です。どうすればこれを達成できますか? 私は何を間違っていますか?

編集:

カウントは次のようにずれているようです - 上記のようなレコードがあり、他に 2 つのレコードがあり、ニューヨーク州もあり、住所が「13 フェニックス ロード」と「13 フェニックス」であるとします。 Rd」の場合、次のようなレコードをファイナル テーブルに入れたいと考えています。

代わりに、私は得ているようです:

ここで何が起こっているのかよくわかりません...ある種のデカルト積ですか?順列…?誰でもこれを説明できますか?

編集2: 誤解されているように見えるので、さらに編集します(そして本当に解決策が必要です:()...これは、私が探しているものを達成する相関サブセレクトを使用したクエリです。同じことをしたい副選択ではなく、テーブル自体の内部結合を使用します。

基本的に、各レコードについて、同じ状態と、このアドレスで始まるアドレスを持つテーブル内のレコードの数を取得したい (または等しい... このアドレスをカウントの一部として含めたい)。

0 投票する
5 に答える
226 参照

sql - それ自体とそれ自体のテーブルに参加しますか?

それほど重要ではありません...しかし、私は少し興味があります:自己結合の正しい用語は何ですか?それ自体でテーブル結合しますか、それともテーブルそれ自体に結合しますか?

0 投票する
1 に答える
178 参照

ruby-on-rails-3 - Ruby On Rails: 別のテーブル エントリに関連付けられているテーブル エントリが破棄されたときに確認を求める

次の問題についてサポートをお願いします。

それ自体に自己関連付けられているグループのテーブルがあるため、各グループは (オプションで) 階層的に別のグループにリンクされます。グループ エントリを破棄する前に、子グループがあるかどうかを何らかの方法でチェックし、ユーザーに確認を求めるか、子グループも削除するかどうかを確認するコードを書きたいと考えています。

コールバックを見てきましたが、ビューでエンド ユーザーに確認要求を取得し、モデルのコールバックに応答を返す方法がわかりません。

ありがとう