問題タブ [left-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.
mysql - この MySql の完全な外部結合 (またはユニオン) を手伝ってください
これは、MSSQL を MySql に変換した結果です。以下は、私が仕事をしようとしているコードです:
変数が既に存在すると仮定します。これが壊れているのは「As SharedDataPerPath」の部分なので、テーブルが MySQL でサポートされていないようにアクセスできるように、select ステートメントにエイリアスを設定していると思いますか? テーブル スキーマが役立つ場合は、コメントで返信してください。それを質問に追加します。
前もって感謝します!
sql - LINQで同等のJOINとLEFTJOIN
私は次のSQLクエリを使用しています。
LINQでJOINを実現する方法がわかりません。私のすべてのテーブルには外部キーの関係があります。
sql - SQL LEFT JOIN が NULL ではなく 0 を返す
各タイプのレコード数をカウントして、2 つのテーブルを結合したいと考えています。左のテーブルにそのタイプのレコードがない場合は、null ではなく 0 が返されるようにします。
これどうやってするの?
mysql - 左結合を使用したMySQLSELECTの空の行
、、、およびという3つのテーブルがusers
あります。facilities
staff_facilities
users
users.id
平均的なユーザーデータが含まれています。私の場合、最も重要なフィールドは、、、users.first
ですusers.last
。
facilities
また、かなりの量のデータが含まれていますが、を除いて、必ずしもこの例に関連するものではありませんfacilities.id
。
staff_facilties
(int、 auto_inc staff_facilities.id
、NOT NULL)、staff_facilities.users_id
(int、NOT NULL)、およびstaff_faciltities.facilities_id
(int、NOT NULL)で構成されます。(それは一口です!)
staff_facilities
他の2つのテーブルのIDを参照し、このテーブルを呼び出してユーザーの施設と施設のユーザーを検索します。
これは、PHPでの私の選択クエリです。
このクエリは開発サーバーではうまく機能しますが、クライアントの本番環境にドロップすると、結果セットに空白行が表示されることがよくあります。私たちの開発サーバーは、クライアントの本番サーバーにすでに存在する複製されたテーブルとデータを使用していますが、ハードウェアとソフトウェアはかなり異なります。
これらの行には、データベースにNOTNULL値を入力する必要がある3つのidフィールドを含む情報がありません。バックエンドでMySQL管理ツールを使用してクエリを実行すると、同じ結果が返されます。テーブルでNULLフィールドを検索しても、何も見つかりませんでした。
もう1つの奇妙な点は、WHERE句のIDチェックによって生じるさまざまな結果に基づいて、空の行の数が変化していることです。通常、空の行は1〜3行程度ですが、同じパラメーターを使用すると一貫性があります。
LEFT JOINSが原因でほぼ重複する行が返されることに何度も対処しましたが、これまでにこれが発生したことはありません。情報を表示する限り、エンドユーザーから簡単に隠すことができます。私の懸念は、主に、時間が経過し、レコードの数が増えるにつれて、この問題が悪化することです。現状では、このシステムはインストールされたばかりであり、すでに2000以上のレコードがstaff_facilities
テーブルにあります。
任意の洞察や方向性をいただければ幸いです。さらに詳細な例と情報も提供できます。
mysql - mysqlの参加は私を怒らせています!
そのため、結合の実行についていくつか質問し、すばらしい回答を得ましたが、まだ完全に困惑していることがあります。
私は3つのテーブルを持っています。それらをtable-b、table-d、table-eと呼びましょう。
Table-bとtable-dは、p-idという列を共有します。
Table-eとtable-bは、ev-idという列を共有します。
Table-eには、dateという列もあります。
Table-bには、u-idと呼ばれる一意のid列もあります。
次の条件でu-idを返すクエリを作成したいと思います
。1)table-e.dateの特定の値に制限されています。
2)table-bp-idがtable-dp-idと一致しない場合。
e-id列でtable-bとtable-eを内部結合する必要があると思います。次に、p-idがnullであるtable-dとtable-bに対して左結合を実行する必要があると思います。
私の問題は、このクエリを書くための構文がわからないことです。複数の内部結合を作成する方法と、左結合を作成する方法を知っています。2つを組み合わせるにはどうすればよいですか?
私を助けてくれたすべての人に感謝します。私は(明らかに!)データベースの初心者であり、すべてを理解するのに苦労しています!
c# - 結合に複数のフィールドがある場合、どのようにしてLinqに結合を残しますか?
先ほど、Linqの左結合で定義された関係を使用できない理由について質問しました。今日まで、私は満足のいく反応を得ていません。
現在、並行してjoin
、オブジェクト間に関係が定義されていないかのようにキーワードを使用する必要があることを受け入れ、Linqでクエリを表現する方法を模索しています。問題は、複数のテーブル間の左結合の集合体であり、結合に複数のフィールドが含まれていることです。これを単純化する方法はないので、マスクされていない栄光のSQLを次に示します。
(参考までに、私がやろうとしていることを理解するのに役立つ場合:承認に処方箋が必要なTreatmentPlanDetail
レコードがあるかどうかを特定しようとしていますが、レコードがないか、有効期限が切れています。 )。Patient
Payer
ServiceType
ServicePerscription
さて、これが私のC#コードがどのように見えるかです:
おっと、コンパイルしません!何らかの理由で(説明が欲しい)、その文字通りのブール値を等結合内で使用することはできません!いいでしょう、私はそれを省き、後で「RequiresPrescription」のものを除外します...
...そしてコンパイルされます-しかし、実行すると、この行で「オブジェクト参照が設定されていません」という例外が発生します。 DUH! もちろん、そこにはヌルがあります!右側のオブジェクトを参照することが許可されていない場合、左側の結合との比較を他にどのように実行することになっていますか?それは潜在的にnullである可能性がありますか?
では、複数のフィールドを使用して左結合をどのように行うのでしょうか。
linq - これらの LINQ 結合を LEFT OUTER 結合に変換するにはどうすればよいですか?
したがって、私はまだ LINQ to SQL にかなり慣れていないため、これを内部結合ではなく左外部結合に変換する方法を理解するのに助けが必要です。
上記のクエリから、Agencies テーブルのすべての機関を探しています。レコードが存在しない場合、右側のレコード (EnterpriseID、CorrectedDate など) は null になる可能性があります。
SelectMany を使用する必要があることは確かですが、これらの結合を LEFT OUTER JOINS に変換するガイダンスを使用できるので、すべてのエージェンシーのリストと、右側に可能なレコードがあります。
sql-server - Where の条件と Join の条件の違い
次の2つのクエリが異なる結果をもたらす理由を誰か説明してもらえますか?
ありがとう。
sql - 複数の右側の行を持つ TSQL 左結合
TSQL (MSSQL SERVER) で左結合を実行する場合、右側に複数の行がある場合、クエリでどの行が返されるかという保証はありますか?
これを使用して、右側のテーブルの順序を悪用しようとしています。
それで
テーブル内のすべての ColA を取得し、順序に基づいて左結合の一連の ColA 結果の最初の行をすべて取得することを期待します。
言語またはサーバーによる保証はありますか?