問題タブ [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 に答える
624 参照

mysql - 多対多のテーブルで自己結合を行うスケーラブルな方法

私は次のようなテーブル構造を持っています:

私の質問は:

多くの統計についてprofile_stat_idとprofile_stat_value_idを持つすべてのユーザーを検索するクエリを評価するにはどうすればよいですか?

私は内部自己結合を試みましたが、多くの統計を検索するとすぐに夢中になります。また、実際のuser_profileテーブルでカウントを実行しようとしましたが、それははるかに優れていますが、それでも低速です。

私が見逃している魔法はありますか?user_profileテーブルに約1,000万行あり、クエリに数秒以上かかることはありません。それは可能ですか?

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

sql-server - 自己結合を実行して祖父の名前を取得する SQL クエリ

子供の名前と祖父の名前を取得するためのクエリを教えてください。

結合を使用して父の名前を簡単に取得できますが、祖父の場合は結合を 2 回行う必要があるため、誰か助けてください。

D.マヘシュ

0 投票する
6 に答える
3890 参照

database - データベーステーブルで人々の間の関係を表現する適切な方法は何ですか?

私は人のテーブルを持っています - ID 主キーと名前。私のアプリケーションでは、人々は他の人々と0以上の現実世界の関係を持つことができるので、ジャックはジェーンのために「働き」、トムはトニーに「取って代わり」、ボブは「ロブの従業員であり、ボブは結婚しているかもしれません」 「メアリーへ。

これをデータベースで表現する最良の方法は何ですか? 多対多の交差テーブル? 一連の自己結合? リレーションシップ ペアとタイプごとに 1 行のリレーションシップ テーブルに、リレーションシップのレコードを両方向に挿入しますか?

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

postgresql - PostgreSQL ビューでの自己結合

結合されたソースから必要なすべてのデータを蓄積するビューを作成しようとしています:

たとえば、これにより所有者のデータを簡単に選択できます。

問題は、同様の方法でフィールドdirを変換するために、ビュー (作成されているビュー) との自己結合を行う必要があることです。parent_idPostgreSQL はそれを好まないようですrelation "dir" does not exist

ヒントはありますか?


マルセロ・カントスのコメントへの回答:

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

sql - SQLでテーブル内の値を比較する方法

レコードが挿入されるたびに同じテーブルの値を比較する方法(例:注文テーブル)、同じ値を持つレコードが同じテーブルに既に挿入されている場合、同じ値を持つ新しいレコードを挿入しないでください。SQL Server 2008でそれを正確に行う方法

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

sql-server - t-sql 自己結合のヘルプ

以下の表による

次の出力が欲しい

したがって、date が最も古いもので、State が最新のものです。テーブルに自己結合を適用して出力を取得できません。

ありがとう

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

sql - テーブルへの自己結合

私は次のようなテーブルを持っています

給与がAの給与よりも高いすべての従業員を取得したい. ネストされたクエリまたはサブクエリを使用したくありません。インタビューで尋ねられ、ヒントは自己結合を使用することでした。同じことを達成する方法が本当にわかりません。

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

sql - 自己参加の問題について深刻な支援が必要

ご存知かもしれませんが、自己結合を使用してビューにインデックスを付けることはできません。技術的には自己結合でなくても、実際には同じテーブルの2つの結合ですらあります。マイクロソフトの何人かの人が回避策を思いついた。しかし、それはとても複雑で、私には理解できません!!!

この問題の解決策は次のとおりです:http://jmkehayias.blogspot.com/2008/12/creating-indexed-view-with-self-join.html

この回避策を適用したいビューは次のとおりです。

どんな助けでも大いに感謝されるでしょう!!!

よろしくお願いします!

編集:だから私はこれもうまくいくことがわかりました。最初のインデックス付きビューで1回、2番目の非インデックスビューで2回目にテーブルに参加していることに注意してください。

次に、必要に応じて、最初のビューで追加インデックスを作成できます。この解決策(またはその問題の回避策)が実際にパフォーマンスを向上させるかどうかはわかりませんが、お知らせします。

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

tsql - T-SQL外部結合が機能しない

パーツのSerial_Numberを使用して要約を表示するために、JOINを使用して作成したクエリがあります。

明らかに、それは機能しません!

ここで直接検索を使用する:

このサンプル出力を取得します。

結果が必要なこの1つの部品番号に対して2つのテストがあったことに注意してください。

ここで、私が作成した、機能しないクエリについて説明します。


この最初のバージョンは、1つのレコードを返します

出力

比較するレコードが2つ以上あるため、上記のクエリで結果が生成されると思います。右?


最新のレコードを返すことを期待して上記のクエリを変更しましたが、このバージョンでは何も返されません。

出力

誰かがこのクエリを取得して、私が求めている単一の結果を返す方法を指摘できますか?

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

mysql - 再帰的自己クエリ

私は次の表を持っています:

parentIDがなくなるまで、すべての行をトレースバックしたいと思います。したがって、「.... WHERE id = 5」は私に次のようになります: