問題タブ [right-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.
sql - 異なる列からの複数の結合を持つ SQL 1 つの行
私が返したいのは、マッピングテーブルから次のものです
MapDescription、ToID の SubTpeDescription、FromID の SubTpeDescription
したがって、基本的にMapA、Subtype9、Subtype 10が出力として
私がこれまでに行ったことは
sql - CTE_dates への右結合ですべての日付が返されない
久しぶりの投稿ですが、投稿は初めてです。私は一生、自分でこれを解決することも、これを解決する答えを見つけることもできません。
部門、売上、日付の列を持つtable1があります。各行は販売を記録します。
過去 7 日間 (週末を含む) の売上を部門ごとに (Sum() を使用して) 返すクエリが必要で、売上が発生していない (日付のレコードがない) 日は値 0 で返されます)。
現在、CTE を使用して過去 7 日間の日付のリストを生成しています。コードは次のとおりです。
ソースから変更: https://gallery.technet.microsoft.com/scriptcenter/97fe6de5-ab27-40db-8565-637988f028a2
今、このコードを使用して Table1 からデータを選択し、欠落している日付の行を含めようとしています。ここで、売上高は NULL である必要があります (これが機能したら、ISNULL を使用して 0 に変更します)。
CONVERT(date,) 関数を少し使いすぎたことにお気付きかもしれません。これは、Table1.date が日付のみを記録し、時刻をすべてゼロにするためです。つまり、YYYY-MM-DD 00:00:00.000 です。私のCTEは現在の日時を取得します。明らかに、時間にはゼロ以外のものがあります。したがって、私は CONVERT を使用して両方を日付のみに変換し、時間は無関係であるため無視しています。
私が何をしているように見えても (CONVERT(date,) を使用せずに、さまざまな結合を試してみましたが、役に立ちませんでした。出力は常に同じようです。値を含む 5 つのレコードしか返されません。 null / 0を読み取るだけのものがさらに2つ必要です。
mysql - 右結合は null 値を返さない
私のテーブルは次のとおりです。
人がリソースにアクセスする権利を持っているかどうかを出力したいのですが、resourceid = 2 としましょう。結果は次のようになります。
リソース 2 へのアクセスが許可されていない場合、resourceid は null である必要があります。リソース 2 へのアクセスが許可されている場合、resourceid は 2 である必要があります。
したがって、クエリが実行されるたびに、ユーザー リスト全体が出力されることを期待しています。
サブクエリを使用した実用的なソリューションがありましたが、これを結合で実行したいと考えています。
これが機能しないのはなぜですか?
mysql - 左と右の結合の msyql ユニオンと、条件が機能しない場所
MySql に 2 つのテーブルがあるとします。
value (住所フィールドの値)
フィールド (住所フィールド)
一部の人 (値テーブルの user_id) がすべての addressFields に入力していない可能性があります。つまり、一部のフィールドの値しかありません。
まだ使用していない他のすべてのフィールドですべての値を取得するために、左結合と右結合のユニオンを実行しています (MYSQL には FULL OUTER JOIN がないため、ユニオンが使用されます)。
上記の組合は、私が達成したいことをしていません。User=4 には、50 個のフィールドのうち 4 個しか入力されていません。クエリの結果は 4 のみを返します。2 番目のフィールドを置き換えると、
とともに
次に、54行を返します(4行に加えて、他のユーザーからの値を持つ50の可能なフィールドすべて)。また、value.* にダミー値を使用しようとしましたが、ユニオンがレコードを正しくマージしていないため、再び 54 行が返されます。
私が必要とするものを達成する方法はありますか?アイデアをありがとう…。
mysql - 左側のテーブル全体を選択し、条件が右側のテーブルのレコードと一致する場所を選択する方法は?
どなたかこのやり方を教えてください。私は 2 つのテーブルを持っています。最初のテーブル (ページ) 全体を選択し、user_id = 1 の sencond テーブルから選択する必要があります
表 1: ページ
表 2: コントロール
これが出力を期待するものです。
出力を期待する
ページ JOIN コントロール ON page.page_id = control.page_id WHERE control.user_id = '1'
誰かがこの問題を解決するのを手伝ってください。LEFT JOIN と RIGHT JOIN を試してみましたが、user_id = 1 の一致する行のみを取得します
sql-server - 別のテーブルに表示されない 1 つのテーブルからのレコードの選択
私が抱えているこの問題について、誰かが私を助けてくれることを願っています。私は顧客のテーブルを持っています - それをテーブル C と呼びましょう。そして、2 つ目の顧客のテーブルを呼び出してはいけません - それをテーブル D と呼びましょう。
顧客が表 D に表示されない限り、必要な情報 (名前、住所、電話番号など) をすべて表 C から取得したいと考えています。
以下に示す例では、John Doe (ID: 1) と Fred Savage (ID: 5) を除くすべての顧客のデータを返したいと考えています。
ここでは a が適用される可能性があると思いますRIGHT OUTER JOIN
が、このタイプの結合を使用したことはありません。
mysql - zend2 の右結合が機能しない
従業員の属性とその目的を返すクエリがあります。私が望むのは、従業員の目的が既に設定されているかどうかに関係なく、すべての従業員を返すことです。これは私のクエリです
私のクエリに従って、クエリがすべての従業員を返すように従業員テーブルを右結合しようとしましたが、実行しようとすると、目的が設定されている従業員のみが返されます。
PS。目的は os_form テーブルにあります。ありがとう。