問題タブ [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.
c# - 単一結合の複数のフィールドでLINQで結合を行う方法
複数のフィールドで結合を行うLINQ2DataSetクエリを実行する必要があります(
私はまだ適切な解決策を見つけました(where句に追加の制約を追加できますが、これは適切な解決策とはほど遠い、またはこの解決策を使用しますが、それは等結合を前提としています)。
LINQで1回の結合で複数のフィールドに結合することは可能ですか?
編集
上記の等結合を想定して参照したソリューションです。
さらに編集
私の元の例が等結合であったという批判に答えるために、私は認めます。私の現在の要件は等結合であり、上記で参照したソリューションをすでに採用しています。
ただし、私はLINQでどのような可能性とベストプラクティスを採用すべきかを理解しようとしています。すぐにテーブルIDを使用して日付範囲クエリ結合を実行する必要があり、その問題を先取りしていました。where句に日付範囲を追加する必要があるようです。
いつものように、与えられたすべての提案とコメントに感謝します
sql - リンク サーバーに参加するか、ホスト サーバーに参加しますか?
状況は次のとおりです。データをプルするために接続する必要がある Oracle データベースがあります。上記の Oracle データベースにアクセスするのは非常に面倒なので (何よりも主に官僚的な障害です)、それを SQL Server にリンクし、そのリンクを使用して必要に応じてデータにアクセスすることを計画しています。
アプリケーションの 1 つで、必要なデータを取得するためのビューを作成する予定です。これで、必要なデータが 2 つのテーブルから結合されました。これを行う場合、どちらが望ましいでしょうか?
これ(そのようなものが存在する場合は疑似SQLで):
またはこれ:
どちらかを優先する理由はありますか?注意すべき点は、Oracle サーバーにアクセスするためにクエリを実行できる時間に制限があることです。
php - 2 つのテーブルでの PHP 結合のヘルプ
私はただPHPを学んでいますが、ここで完全に迷っています。これまで join を実際に使用したことがなく、ここで使用する必要があると思いますが、わかりません。誰かが私のためにそれをしてくれるとは思っていませんが、もしあなたが私を正しい方向に向けることができれば、それは素晴らしいことです.結合について読んでみましたが、20の異なる方法があり、私はただ迷っています.
基本的に、私はフォーラムを手作業でコーディングしました。うまく機能しますが、効率的ではありません。
board_posts (投稿用) と board_forums (フォーラム用、カテゴリとセクション用) があります。
私がやり直している部分は、インデックス ページの最後の投稿の情報を取得する方法です。私が設定した方法は、結合の使用を避けるために、最新の投稿の情報をboard_forumsのテーブルに保存することです。そのため、「オフトピック」と呼ばれるセクションがあるとします。「forum_lastpost_username/userid」のフィールドがあります/posttitle/posttime" ユーザーが投稿したときに更新しますが、これは悪いことです。すべてを動的に取得して、それらのフィールドを削除しようとしています。
現在、私のクエリは次のようになっています。
そして、そのフォーラムの情報 (名前、説明など) を取得するものがあり、最後の投稿のすべてのデータがそこにあります。
しかし、私はそれを取り除き、board_posts から取得する必要があります。board_posts での設定方法は、それがスレッドの場合、post_parentpost は NULL であり、返信の場合、そのフィールドにはスレッドの ID (トピックの最初の投稿) が含まれます。したがって、最新の post_date を取得し、どのユーザーがそれを投稿したかを確認し、parentpost が NULL かどうかを確認する必要があります (null の場合、最後の投稿は新しいスレッドであるため、タイトルとユーザーのすべての情報を取得できますが、そうでない場合は、そのスレッドの最初の投稿の情報 (タイトル、ID) を取得する必要があります (これは、post_parentpost が何であるかを確認し、その ID を検索して、そこからタイトルを取得することで見つけることができます。
それは意味がありますか?もしそうなら、私を助けてください:(
どんな助けでも大歓迎です!!!!
sql - リンクフィールドに基づくSQL選択
私はこれを尋ねる馬鹿のように感じます...
ユーザーにユーザー名を指定して、個人の名前フィールドを返すクエリを実行できますか?
SQL?
の望ましいリターンで
私はこれまで2つのパスでそれを行ってきましたが、おそらく結合を使用したネストされた選択が必要だと思います
c# - LINQ は DataRelations を使用して結合を最適化しますか?
これに対する答えはどこにも見つかりません。Reflector を使用して生成されたコードを調べ始める前に、次の質問をする価値があると思いました。
DataSet 内の DataTable に対して次の LINQ クエリを実行するとします。
示されているキー フィールドを使用する親テーブルと子テーブルの間に DataRelation がある場合、LINQ はそれを使用しますか? つまり、値が「foo」である親テーブルの行を見つけてGetChildRows、子行を射影するために呼び出しますか?
または、これは明示的に指定する必要があるものですか? (もしそうなら、どうすればいいですか?)
sql - 1 回のクエリで ID から関連データを取得する最良の方法は何ですか?
各行に、他のテーブルの他のデータに関連する ID を持つフィールドがいくつかあるテーブルがあります。
peopleという名前で、各人が 、および の ID を持っているとcityしstateましょうcountry。
したがって、さらに 3 つのテーブル 、cities、statesおよびcountriesそれぞれが ID と名前を持つことになります。
人を選択するとき、1 回のクエリで の名前を取得する最も簡単な方法は何ですか?citystatecountry
注:これは結合で可能であることはわかっていますが、関連するテーブルが増えるため、ネストされた結合によりクエリが読みにくくなります。よりクリーンな方法があるかどうか疑問に思っています。人がそれらのフィールドを空にすることも可能であるべきです。
mysql - 複数の行とテーブルの文字列を1つの結果列に連結することは可能ですか?
テーブル「タグ」と1対多の関係にあるテーブル「プロジェクト」から1つのレコードを取得するMySQLクエリを作成しようとしています。私のアプリケーションはこれを行うために4つのテーブルを使用します:
テーブル「タグ」の複数の値が1つの結果列に連結されるようにクエリを作成することは可能ですか?サブクエリを使用せずにこれを実行したいと思います。
表の説明:
望ましい結果:
sql - この結合ヒントは危険ですか?
同僚から、クエリの実行時間が非常に長いため、いくつかのテーブルのインデックス作成を調べるように依頼されました。1時間以上。
異なるデータベースに注意してください。これは DatabaseB から実行されていました
テーブル 1 と 2 は、200 万を超えるレコード長でした。Table3 には 10 ほどのレコードがありました。
クエリ プランを調べたところ、オプティマイザは、Table3 を駆動テーブルとして、テーブル 1 と 2 へのネスト ループ インデックス シークを実行することにしました。
私の最初の仮定は、Tables1 と 2 で統計がひどく台無しになっているということでしたが、統計を更新する前に、次のように結合ヒントを追加しようとしました。
結果は 15 秒で返されました。
時間がなかったので、結果を彼に返しましたが、これが後で問題になるのではないかと心配しています.
統計の問題を再検討して、その方法で問題を解決する必要がありますか? 別のデータベースからの結合が原因で、不適切なクエリ プランが発生した可能性はありますか?
あなたの経験に基づいて誰かが私にいくつかのアイデアを提供できますか?
.net - .NET と Oracle: テーブルを別のテーブルの空のセットに結合する
tableA といくつかのデータを別の tableB の空のセットに結合しようとしています。主な目的は、tableB のすべての列を取得することです。tableB のデータは必要ありません。
次のSQLを構築しました。
この SQL は TOAD で完全に実行されますが、VB.NET の OracleDataAdapter.Fill(DataTable) ステートメントで使用するとエラーが返されます。
同じ効果を達成するための回避策があれば問題ありません。どうもありがとうございました。
エラーメッセージ:
OCI-22060: 引数[2]は無効または初期化されていない数値です
構成:
.NET フレームワーク: 1.1
オラクル9i
sql - MySQL - すべて同じ構造だが異なるデータを持つ複数のテーブルからデータを選択する
OK、これが私のジレンマです。データベースには、まったく同じデータ構造を持つ約 5 つのテーブルが設定されています。データは、ローカリゼーションの目的で、合計約 450 万のレコードを分割するために、この方法で分離されます。
ほとんどの場合、必要なテーブルは 1 つだけで、すべて問題ありません。ただし、2 つ以上のテーブルからのデータが必要な場合があり、ユーザー定義の列で並べ替える必要があります。これは私が問題を抱えているところです。
データ列:
MySQL ステートメント:
MySQL は次のエラーを吐き出します。
明らかに、私はこれを間違っています。誰でも私のためにこれに光を当てたいですか?