問題タブ [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.
database - 外部キーが何も返さない場合、MySQL でレコードを選択するにはどうすればよいですか?
video_ratings
このクエリを実行して、3 つのテーブル、、game_data
ビデオからデータを抽出しています...
今私が直面している問題は、評価された(またはテーブルにあるvideo_ratings
)ビデオのみが結果に表示されることですAND videos.id = video_ratings.video_id
...
すべてのビデオのデータを選択して、それらのビデオの評価がテーブルAVG(video_ratings.rating)
に存在しない場合、結果が null として表示される方法はありますか (または、どのビデオも評価されていないため、結果は次の列の 10 行を表示する必要があります)ヌル ) ...video_ratings
AVG(video_ratings.rating)
ありがとう
sql - 複数のテーブルからの SQL SELECT
customers1 と customers2 から顧客名を含むすべての製品を取得するにはどうすればよいですか?
結果は次のようになります
mysql - 同じテーブルの左結合
テーブルをそれ自体に結合する方法を覚えていません。私のテーブルは次のとおりです。
そして、procが$ procで、kindが'a'と'b'の両方である値colを取得する必要があります。まあ、それを行う必要があります(proc = 1を探します):
だから私はこのクエリを書きました:
そして動作しますが、テーブルにkind=aとkind=bの両方の行がある場合に限ります。
しかし、行を見逃した場合はnull値になる必要があります。proc= 2を探す場合は、次を取得する必要があります。
代わりに、私のクエリでは、bまたは行が欠落している場合は何も取得しません。
私はmysqlを使用しています...それを行う方法は?
編集: UNION句を使用することはできますが、これでは、1つの行が欠落している場合(kind=aまたはkind=b)にNULL値を指定できません。
java - LAZY とマークされたサブテーブルを自動的に結合する HQL クエリを作成する方法は?
私はいくつかのエンティティを持っています:
そして、次のように HQL を実行すると: em.createQuery("select a from Album a").getResults()
多くの SQL クエリを生成します。アルバムのテーブルからデータを選択するためのものです。次のように: select .... from Album_table; そして、アイテムを選択するために、フェッチされた行ごとに 1 つのクエリ。次のように: select .... from Item_table iwhere i.Album_id = :Album_id;
しかし、私が em.createQuery(" select a.id, b.id from Album a left join Item i ").getResults() を実行すると
1 つの SQL クエリを生成します。しかし、結果はいくつかのパラメーターのリストであり、手動でエンティティに入れる必要があります。
結合を使用して HQL を自動的に構築し、結果をエンティティに自動的に配置するにはどうすればよいですか? 出来ますか?
sql - 右側のテーブルで特別な条件を使用して左結合
これが可能かどうかわかりません..私はsqlite3スキーマを使用しています:
CREATE TABLE docs (ID 整数主キー、名前文字列);
CREATE TABLE revs (id integer 主キー、doc_id integer、number integer);
リビジョンの 1 つだけに結合されたすべてのジョブ、つまり番号が最も大きいものを選択したいと考えています。どうすればこれを達成できますか?現在、私は左結合を行ってすべてを取得してから、アプリケーションでフィルタリングしていますが、これは最悪です..
(ちなみに、データベースとその仕組み、そしておそらくSQLについての、わかりやすくて良い入門書を教えていただけませんか..)ありがとう!
linq - エンティティへのLinq左結合
LinqtoEntitiesで次のことを実現したいと思います。
アプリケーションがない、またはアプリケーションのステータスが!= 4(完了)のすべての問い合わせを取得する
Linq to EntitiesでサポートされていないDefaultIfEmpty()を使用せずにこれを行ったことはありますか?
次のようなIQueryableクエリにフィルタを追加しようとしています。
ありがとうマーク
ruby-on-rails - Rails ActiveRecord : INNER JOIN の代わりに LEFT JOIN で結合する
私はこのコードを持っています
次のSQLを生成します
User.find_by_sql
クエリを手動で入力する以外の方法で、INNER JOIN の代わりに LEFT JOIN を作成することは可能ですか?
mysql - PHPmyAdmin で SQL DELETE が失敗する
PHPmyAdmin で SQL DELETE がフォールオーバーします。理由がわかりません。LEFT OUTER JOINが原因ですか?
この SQL クエリは ( #1064 - You have an error in your SQL syntax; ) メッセージで失敗していますが、削除ではなく SELECT で完全に機能します。なぜですか?
sql - NULL 列の左結合から何かを選択できるのはなぜですか?(ローカルで再現するための不自然な例で、おそらくバグです!)
VERSION 使用しているサーバー バージョン: 5.1.36-community-log MySQL Community Server (GPL)
私は最終的にそれを簡単に再現するための簡単な例を考案しました!
設定:
次に実行します:
これを間違って取得します:
しかし、この方法で t2 を作成すると、それは起こりません:
つまり、主キーと関係があります。
新しい発見
これを実行してもバグは発生しません:
したがって、結合方向にも関係があります。
sql - 複数の左結合を使用して平均とカウントを計算する
複数の左外部結合を使用して平均スコアとカード数を計算する方法を見つけようとしています。次のスキーマとテスト データがあります。各デッキには 0 以上のスコアと 0 以上のカードがあります。各デッキの平均スコアとカード数を計算する必要があります。便宜上 mysql を使用していますが、最終的にはこれを Android フォンの sqlite で実行したいと考えています。
次のクエリを実行します...
...そして、平均については正しい答えが得られますが、カードの数については間違った答えが得られます。髪を抜く前に、誰かが私が間違っていることを教えてもらえますか?
ありがとう!
ジョン