問題タブ [cross-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.
sql - クロス結合による SQL から Linq への変換
誰かが次のSQLをC#でlinqに変換するのを手伝ってくれませんか?
sql - 相互結合の動作(SQLServer 2008)
私は自分が持っているクエリの問題を突き止めようとしています。クエリは実際にはHQLからの休止状態によって生成されますが、結果のSQLは私が期待することを実行しません。SQLを少し変更すると正しい結果が得られますが、変更によって違いが生じる理由がわかりません。
元のクエリ(行を返さない)
変更されたクエリ-クロス結合がコンマに置き換えられました(暗黙のクロス結合)
1行を返します
私の理解では、間違っているかもしれませんが、書くことは書くことfrom Table1 a, Table2 b
と同じfrom Table 1 a cross join Table2 b
です。そのため、クエリが異なる結果を返す理由がわかりません。
これを引き起こす最初のクエリでのクロス結合と外部結合の間の相互作用と関係がありますか?クエリプランを確認しましたが、2番目のクエリプランは妥当なようです。最初のものには外部結合がまったくありませんが、これは奇妙なことです。
これはSQLServer2008にあります。
sql - SQLでの相互結合の排除
クロス結合を含むクエリを最適化しようとしています。派生テーブルとの相互結合に進む大きなクエリがあります。
派生テーブルをビューに変換することで、クエリの速度が向上しますか?または、その情報を永続的なテーブルにキャプチャすることもできますか?
これが私の質問です
長いクエリなので、すべてを読む必要はありません。要点は、単にクロスジョインがあるということです。私はSQLを初めて使用しますが、クロス結合によって速度が低下すると言われています。
sql - 1つのテーブルの2つのレコードを別のテーブルの2つのレコードと結合して、2つのレコードを生成します
結合する必要のある大量のデータを含む2つのテーブルがあります。問題は、2つのテーブルがほとんど同じデータを保持しており、予期しないことではありませんが、結合によって望ましくないデータが生成されることがあることです。結果。次に例を示します。
結合で結合されたチェック番号とtrx_numberを探していますが、すべてが結合しているものと同じであるため、クロス結合になります。私がこのように持っているすべての場合について、私は本当にtrx_numberがどのチェック#で終わるかは気にしません。
何かご意見は?
現在の結果は次のとおりです。
私が欲しいのは:
どのtrx_numberがどのcheck_numberと一緒にあるかは本当に気にしません。
これが私の現在のクエリです:
where句は明らかにこの場合に特化したものであり、最後のクエリではwhere句はありません。
c# - SQLCROSSJOINの質問
SQLクエリに少し問題があります。
私は2つのテーブルを持っています:
表1
および表2(スキーマは同じで、データが異なることに注意してください)。
SELECT
すべてのタイトルを返すステートメントを作成する方法を理解しようとしています。すべてWHERE
の組み合わせがABS(Table1_D0*Table2_D0)+ABS(Table1_D1*Table2_D1)+ABS(Table1_D2*Table2_D2)
しきい値未満です(おそらくハードコーディングされています)。
これまでのところ、を使用しようとしていますがCROSS JOIN
、これが正しいアプローチかどうかはわかりません。
これは意味がありますか?Table1、row1はTable2のすべての行に対して、次にTable1、row2はTable2のすべての行に対して。
重要な場合は、MSSQLを使用しています。
どうもありがとう!ブレット
mysql - mysqlクロスジョインですが、ペアが重複していませんか?
テーブルに次の行があるとしましょう
テーブルの行
次のクエリを実行すると、30行になります。
結果:
上記の代わりに次の結果を得るにはどうすればよいですか?
ご覧のとおり、たとえば、63,64と64,63の両方を取得したくありません。
mysql - クロス結合のパフォーマンス
写真コンテンツのウェブページを構築しています。コンテンツのすべての組み合わせを作成するために、クロス ジョインを使用します。次の単純なテーブルがあるとします。
テーブル写真
テーブルから作ることができる組み合わせの数は 10 で、それらは
次のクロス結合クエリを使用して上記の結果を取得します
...そして、次のクエリを使用して、ユーザーが見ていない課題を表示します。
これまでのところ、これらのクエリは問題なく機能しています。各クエリは、phpmyadmin から (2300 行から) 約 0.0002 秒かかります。
テーブルに 2000 行あるとします。可能な組み合わせの数は膨大です。Web サイトに多くのアクティブ ユーザーがいる場合、問題が発生する可能性はありますか?
sql - CROSSJOINはON句のないINNERJOINの同義語ですか?
見つかったクエリでCROSS JOIN
安全に置き換えることができるかどうか疑問に思っています。INNER JOIN
INNER JOIN
なしON
またはUSING
まったく同じですかCROSS JOIN
?はいの場合、CROSS JOIN
タイプはクエリで意図をより適切に表現するためにのみ発明されましたか?
この質問の付録は次のとおりです。
CROSS JOIN ... WHERE x
、 またはを使用するときに、最新の広く使用されているDBMSを使用する場合に違いはありますINNER JOIN ... ON ( x )
かINNER JOIN ... WHERE ( x )
?
ありがとうございました。
sql - クロス結合を自動的に生成するサブクエリ
理由はわかりませんが、例(ms sqlサーバーのnorthwindデータから)に従って、Microsoft SQL Server Management Studio 2008で次のようなコードを入力して、サブクエリを実行すると、
サブクエリを含むこのSQLコードは、自動的にクロス結合を取得し、次のようになります。
私はこれのいくつかのバリエーションを試してみましたが、この問題を解決することはできませんでした。これは、Microsoft SQL Server Management Studio 2008の既知のバグですか?パッチが適用されている場合、パッチを適用するにはどうすればよいですか?それ以外の場合、これをMicrosoftに報告して、実際に迅速に修正してもらうにはどうすればよいですか?
私の実際のクエリでは、IDを等しくすることによってこの特定のテーブルの名前を約50回クエリ/ルックアップする必要があります。コードが不器用で非常に長いため、これに対して何らかのJOINを実行する必要があるのは単純に愚かだと思います。パフォーマンスが悪い可能性がありますか?
sql - クロスジョイン差分問題
重複の可能性:
WHERE 句は、IN および JOIN の前、または
INNER JOIN と WHERE 句の後に実行する方が適切です — 何か違いはありますか?
もしあれば、次の違いは何ですか?
と
それらは SQL で同じ動作をしているように見えますが、