問題タブ [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 投票する
1 に答える
589 参照

oracle - OracleでのPerl JOINのような動作?

私は 2 つのテーブルを持っています。それらを PERSON と NAME と呼びましょう。

NAME テーブルに次のようなデータがあるとします。

返すクエリ(Oracle 10g)が必要です

これを行う簡単な方法はありますか?


アップデート:

figs が親切にも提供してくれたという記事によると、9i 以降では次のことができます。

この例では、答えは次のようになります。

0 投票する
10 に答える
149230 参照

sql-server - サブクエリ内の複数の結果を 1 つのコンマ区切り値に結合する

私は2つのテーブルを持っています:

関係は の 1 行TableA- 多くの ですTableB

今、私はこのような結果を見たいです:

これは機能しません (複数の結果がサブクエリになります):

クライアント側で処理を行う場合、これは些細な問題です。ただし、これは、すべてのページで X クエリを実行する必要があることを意味します。ここで、X は の結果の数ですTableA

の行に対して複数の結果が返されるため、単純に GROUP BY などを実行できないことに注意してくださいTableA

COALESCE などを利用した UDF が機能するかどうかはわかりません。

0 投票する
11 に答える
16694 参照

sql - SQL または MySQL で JOIN キーワードを使用しない結合に何か問題がありますか?

データベースクエリを書き始めたとき、私はまだ JOIN キーワードを知りませんでした。当然、すでに知っていることを拡張して、次のようなクエリを書きました。

これが INNER JOIN と同じであることがわかったので、コード内のこれらすべてのクエリを見つけて、それらを書き直す必要があるかどうかを自問します。それらに何か臭いがありますか、それとも大丈夫ですか?


私の回答の要約:このクエリには何も問題はありませんが、キーワードを使用すると、おそらくコードが読みやすく/保守しやすくなります。

私の結論: 古いクエリは変更しませんが、今後は書き方を修正し、キーワードを使用します。

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

sql - 多対多のテーブル クエリ

多対多のインデックス テーブルがあり、包含/除外タイプのクエリを実行したいと考えています。

fid は実際には整数インデックスですが、ここでは理解しやすいように文字で示しています。サンプルテーブルは次のとおりです。

タブレット

ここに私が欲しいいくつかのサンプルクエリがあります。

  1. Fid B を持ち、A を持たない eid はどれですか? (eid 2 と 5 に答えてください)
  2. FID C を持ち、A を持たない eid は? (回答 eid 2)

これを行うクエリを理解できないようです。

私はこのような自己結合を試みました:

eid=1 および fid=C の行が返されるため、これは機能しません。

私は自分が何を望んでいるのか明確ですか?

0 投票する
14 に答える
59538 参照

sql - サブクエリと結合

別の会社から継承したアプリケーションの遅いセクションをリファクタリングして、次のようなサブクエリの代わりに内部結合を使用しました。

リファクタリングされたクエリは、約 100 倍速く実行されます。(約 50 秒から約 0.3 秒) 改善を期待していましたが、なぜ劇的な改善になったのか説明できる人はいますか? where 句で使用される列はすべてインデックス化されています。SQL は、行ごとに 1 回、where 句でクエリを実行しますか?

更新- 結果の説明:

違いは、「where id in ()」クエリの 2 番目の部分にあります。

vs 結合を含む 1 つのインデックス付き行:

0 投票する
11 に答える
67029 参照

sql - 結合されていないレコードを見つけるにはどうすればよいですか?

結合された 2 つのテーブルがあります。

AにはBがたくさんある

通常、次のようにします。

b にレコードがある a からすべてのレコードを取得します。

b に何もない a のレコードだけを取得するにはどうすればよいですか?

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

javascript - Javascript 文字列連結はこの例よりも高速ですか?

Javascript で一連の文字列を連結する必要があり、そのための最速の方法を探しています。Javascript が大きな XML「ファイル」を作成する必要があると仮定しましょう。当然のことながら、このファイルは多数の小さな文字列で構成されています。だから私は思いついた:

例を構築するループやその他の「洗練された」コードには注意を払わないでください。

私の質問は次のとおりです。文字列の数が不明な場合、多くの小さな文字列を巨大な文字列に連結するためのより高速なアルゴリズム/方法/アイデアはありますか?

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

sql - count(*) と自己結合について混乱している

今月と今年のすべての申請日を返したいと思います。これは簡単なはずですが、わかりません。今月は 2 つの日付があり、今年は 90 の日付があることがわかっています。右、左、外側、内側 私はそれらすべてを試しましたが、壁にコードを投げて、何がくっつくかを確認しようとしましたが、どれも機能しませんでした。両方の列で 2 を取得するか、両方の列で 180 を取得します。これが私の最新の選択ステートメントです。

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

mysql - MySQL クエリ: JOIN の制限

結合したいテーブルが 2 つあるとします。カテゴリー:

そしてアイテム:

カテゴリと最初の (そして最初のみの) itemname を返すクエリが必要です。

そして、次のようなランダムな結果を得る方法はありますか:

ありがとう!

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

sql - SQL クエリ: サブクエリの代わりに複数の行に対して "AND" をシミュレートする

tagidcontentidの 2 つの列を持つ「タグ」テーブルがあるとします。各行は、コンテンツに割り当てられたタグを表します。tagid 334、338、および 342 でタグ付けされたすべてのコンテンツの contentid を取得するクエリが必要です。

これを行う「簡単な」方法は次のとおりです(疑似コード):

しかし、私の直感では、これを行うには、より優れた、より高速で拡張可能な方法があることがわかります。たとえば、12 個のタグの交点を見つける必要がある場合はどうすればよいでしょうか? これはすぐに恐ろしくなります。何か案は?

編集: これは、この優れたブログ投稿でも取り上げられていることが判明しました。