問題タブ [outer-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.
ruby-on-rails-3 - Rails3:関係代数を使用して、NOTやOUTERJOINなどのSQL構造を置き換える方法
投稿とコメントの2つのモデルがあります。特定のタグが付いたコメントのないすべての投稿を取得する必要があります。関係代数( arel )などの新しいRails3機能を使用してこれを行うにはどうすればよいですか。
SQLソリューションは次のようになります。
c# - LINQでのC#外部適用
LINQで外部適用を実現するにはどうすればよいですか?少し問題があります。
これが私が使用しているSQLクエリです。
nhibernate - nhibernate は、多対 1 エンティティで左外部結合を生成します
私は nHibernate 2.1.2 を使用しており、nhibernate がネストされた多対 1 エンティティで左外部結合を生成することを確認しました。エンティティ Organization から始まる 3 番目のネストされたノート以降で left-outer-join を生成し始めるようです。内部結合を強制的に使用するようにマッピング ファイルで次のように設定しました。マッピング ファイルで見逃したものはありますか? 誰かが私にこれについてのヒントを教えてくれることを本当に願っています. どんな助けにも感謝します!
実体と関係の例: 販売記録 - 従業員 - 組織
休止状態生成:
Sales.hbm.xml
従業員.hbm.xml
sql - SQLでのRIGHT & LEFT JOINとRIGHT & LEFT OUTER JOINの違い
次の結果の違いは何ですか:
- RIGHT JOIN と RIGHT OUTER JOIN
- LEFT JOIN と LEFT OUTER JOIN ?
いくつかの例を通して説明していただけますか?
sql - Oracleアウタージョインショートハンドとアッパー
作品:
動作しません
ANSI結合への移行はオプションですが、骨の折れるものです。このコードは多くの場所で変更する必要があり、多くの結合があります。この構文を正しくして、作業を進めたいと思います。
出来ますか?
sql - 2 SQL ステートメントの右外部結合
「非順次」オン式を使用した 2 つの右外部結合に関する、非常に単純でありながら興味深いクエリを理解する上で問題があります。クエリは次のとおりです。
ここにテーブルがあります:
ここにいくつかの行があります:
注: クエリselect * from C right outer join A on A.F1 = C.F1 right outer join B on B.F1 = C.F1; 結合式は両方ともテーブル C を参照します。
クエリは (列の次に行) を返します
そして私は(SQLについての私のほとんどの理解では)期待していました
SQL (Microsoft SQL と MySQL でテスト済み) がこれらの値に到達する論理シーケンスは何ですか。
私の「実行」シーケンスでは、テーブル A で A、null (B の場合)、C、null (D の場合) の値を使用し、テーブル B では、「製品」の前に null (A の場合)、B、C、D の値を使用します。 C (B,C,D) と合併します。
Gawie PS: MySQL と Microsoft SQL 2008 を使用してこれをテストしましたが、結果は同じでした。
mysql - 複数テーブルの外部結合の問題
ここでスティックの端が間違っている可能性がありますが、外側の結合により、(たとえば)左側のテーブルにあるすべてのレコードと、右側のテーブルからの一致する結果、およびnullが得られるはずだと思いました。一致するものがなかったところ。
クエリする必要のあるテーブルが3つあります。人と詳細は直接1:1の関係にあります。3番目のテーブルは時間です。これは、1人あたり、プロジェクトごとに、週単位で作業した時間を保存します。私は一人一人が下に置いた週数のカウントが必要です。
以下は、各ユーザーが1週間を超えて時間を置いている限り、時間を置いた週数を示しています。
つまり、これは時間を入力した80/100人を表示します。
でもまだ時間を割いていない20人に会う必要があるので、次のアウタージョインを試してみました
ただし、これにより、最初のクエリとまったく同じ結果が得られます。
編集:私はちょうど問題の一部を発見しました。疑似コードの元のバージョンでは、日付によるちらつきはありませんでした。日付フィルターを削除すると、クエリが期待どおりに動作することがわかりました。ただし、遅すぎて役に立たず、日付が重要です。
mysql - 右側の制約を使用してMySQLで左側の外部結合を作成する
https://stackoverflow.com/questions/3264227/relations-with-multiple-keys-in-doctrine-1-2によると、私は2つのテーブルを持っています(Doctrineで動作させることができないため) m MySQLビューとして参加しようとしています:
部:
- part_id
- 製品番号
- part_type_id
- part_short_code
- ..。
part_translation:
- part_type_id
- part_short_code
- language_id
- internationalised_name
- ..。
part_type_idとpart_short_codeがテーブル間で一致する必要があるという制約について。
これは、次の事実によって複雑になります。
- 右側のテーブル(part_translation)には、対応する行がない場合があります(したがって、左側の結合)
- 右側のテーブルは、part_short_code!=''およびlanguage_id=1の場合にのみ結合できます。
動作するクエリがあります:
SELECT * from part LEFT OUTER JOIN(SELECT * FROM part_translation WHERE language_id = 1 AND part_short_code!='')as part_data_uk USING(part_type_id、part_short_code)
しかし、a)遅い(おそらくサブクエリが原因です)b)「#1349-ビューのSELECTのFROM句にサブクエリが含まれています」というエラーが表示されるため、ビューに変換できません
結合を内部結合として機能させ、右側がnullであるすべての行をスキルアップせずに、右側のテーブルに制約を追加する方法を他に理解することはできません。
サブクエリを削除してビューで使用できるようにする方法で、このクエリを最適化/改善する方法を教えてもらえますか?
MySQL 5.0.45、FWIWを使用します。
ありがとう、リチャード
mysql - MySQLで完全外部結合をシミュレートする効率的な方法は?
Google 検索によると、MySQL は完全な外部結合をサポートしていないため、union および/または union all を介してシミュレートできます。ただし、これらは両方とも、本物の重複を削除するか、偽の重複を表示します。
正しく効率的な方法は何ですか?
この質問は関連しているようですが、答えが得られませんでした。
sql - SQLクエリOUTERJOINのヘルプ?
このようなテーブルが2つあります。
表1
表2
そして、私は彼らに参加したいので、私は次のようなものを持っているでしょう
問題は、すべてのコードが両方のテーブルに存在するわけではないため、コードがいずれかのテーブルに存在しない場合、その値はnullになるはずです。
LEFTやRIGHTJOINでは不可能だと思います。それとも…何かアイデアはありますか?Thx =)
編集済み:FULL OUTER JOINを試しましたが、結果は次のようになります。
答え!!!:@ Tobiasopdenbrouwへの答えthxを見つけました: