問題タブ [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.

0 投票する
3 に答える
854 参照

mysql - 内部結合のように動作する MySQL 左結合

これが私のクエリです:

私のログインには次のものがあります。

しかし、私のrozliczeniaテーブルには次のものしかありません:

左結合は logins テーブルからすべてのユーザーを返す必要がありますが、内部結合のように機能しますか?

0 投票する
2 に答える
171 参照

sql - JOIN と WHERE の問題を除く SQL の権利

結合を除く権利を持つビューを作成しようとしています:

ここに画像の説明を入力

ただし、WHERE も実行したいコロンがあります。この場合、次のようになります。

そのため、私は試しました:

しかし、実行すると、実行時にデータが表示されません。誰でもこの問題で私を助けることができますか?

ありがとうございます。

更新、実行しようとしているクエリは次のとおりです。

0 投票する
1 に答える
52 参照

php - セルをチェックする mysql の case ステートメントが必要です

私は現在 2 つのテーブルを持っています。たとえば、Table_A には何百ものサンドイッチとその情報と写真が含まれており、Table_B には特定のサンドイッチ グループが含まれているとします。例えば:

Table_A には 4 つの列があります。

  • 自動インクリメントの列 1「id」
  • ミートボール サンドイッチ 1、ミートボール サンドイッチ 2、ミートボール サンドイッチ 3、ターキー サンドイッチ 1 などを含む列 2 "sandwich_name"
  • 列 3 の「サンドイッチの種類」。この場合は、ミートボール サンドイッチ、ミートボール サンドイッチ、ミートボール サンドイッチ、ターキー サンドイッチになります。
  • 列 4 の「sandwich_picture」列には、写真へのリンクが含まれています。

Table_B は、サンドイッチを分類するのに役立ちます。

  • Table_A の列 3 に対応する「sandwich_category」という列 1 には、「Meatball Sandwich」、「Turkey Sandwich」というタイトルが含まれています。
  • 列 2 の「featured_sandwich_id」では、目玉の画像を取得する SELECT ステートメントがある Table_A からサンドイッチの ID を選択できます。

    /li>

次に、注目のサンドイッチ画像をロードする if/while コードがあります。

私が抱えている問題は、場合によっては、Table_Bに独自のsandwich_category行をまだ持っていないTable_Aに新しいsandwich_typeが存在することです。 Table_A から。つまり、注目のサンドイッチ ID が Table_B にまだ設定されていない場合、select ステートメントで、最近投稿されたサンドイッチの ID と画像を Table_A から自動的に取得するようにしたいと考えています。

より具体的に、コードに実行してもらいたい手順を書き出すようにします。

  • サンドイッチ カテゴリの種類ごとに 1 つの自動作成された div。
  • 2: Div には、Table_B のサンドイッチ カテゴリ名が含まれており、Featured_sandwich_id が Table_B に設定されているかどうかを確認します。
  • 3: featuring_sandwich_id が設定されている場合は、Table_A のサンドイッチ ID に関連付けられた画像を取得します。
  • 4: Featured_sandwich_id が設定されていない場合 (または、何らかの理由で Sandwich_category が Table_B にまだ詳細に記載されていない場合)、sandwich_category の名前と、sandwich_category の最新のサンドイッチの画像を使用し、上記の div に入力します。

これが私の現在のコードです:

上記の LEFT JOIN には、「ミートボール サンドイッチ」と他のすべてのサンドイッチ タイプのイメージがありますが、関連付けられた Featured_sandwich_id のイメージではありません。

上記のステートメントを RIGHT JOIN に切り替えると、常に「ミートボール サンドイッチ」およびその他のサンドイッチ タイプの Featured_sandwich_id の画像が含まれますが、featured_sandwich_id がテーブルに設定されていない場合、結果は 0 になります。

例として、残りの PHP を次に示します。

リソースを節約するために単一のステートメントにまとめるのが最善であることは理解していますが、正しいタイプの結合を理解することはできません。

これを達成する方法について何か考えはありますか?

0 投票する
1 に答える
14 参照

mysql - 2 つの結合テーブル間の一致結果を取得する

私はEnterpriseモデルを持っています:

Candidatモデル:

そしてTypeモデル:

各企業は、関心のある 1 つ以上のタイプを選択できます。各候補者も同様に選択できます。

現在ログインしている企業といくつかのタイプを共有するすべての候補のリストを表示しようとしています。まったく同じタイプである必要はなく、一部を共有するだけです。

候補とタイプ、および企業とタイプの間のリンクを保持するために、2 つの結合テーブルを使用しています。

現在使用しているSQLクエリは次のとおりです。

クエリの最後の1は、現在ログインしているエンタープライズの ID であり、テスト目的でハードコードされています。

ただし、これは機能せず、この企業と同じタイプを共有する候補がいくつかあるにもかかわらず、空の配列を返します。

このクエリで何が間違っていますか?

0 投票する
1 に答える
120 参照

group-by - Access クエリの結果から重複レコードを削除しないようにするにはどうすればよいですか?

データ

私は MS Access 2013 で作業しています。2 つのテーブル ('Import' と 'Import-Pay') があります。2 つのデータを結合するクエリがあります。

Import-Pay には、クライアントからのトランザクション データが含まれており、これには時折重複するトランザクション レコードが含まれます (例: 顧客が +$50 を購入し、顧客が -$50 を返品し、顧客が気が変わって +$50 を再度購入します)。まれですが、起こります。私の問題は、クライアントの請求レポート (クエリ) を作成するときに、クライアントがトランザクションで販売日のみを記録しているため、Import-Pay テーブルに 2 つの +$50 レコードが作成されることです。

クエリ

以下のクエリを使用して、トランザクション データをクエリし、それを顧客のセカンダリ テーブル情報と結合しています。

私の問題

テーブルは右結合されているため、「Import-Pay」テーブルのすべてのレコードが表示されるはずですが、何らかの理由で、クエリの実行後に Import-Pay の重複レコードが失われ、異なる合計 [Trans Amt] が表示されます。

トラブルシューティング

  1. テーブルの結合を再確認して、それが問題ではないことを確認しました。
  2. 「Group By」ステートメントを削除しようとしました
  3. 「DISTINCTROW」関数を削除しました

私はこれを2日間いじりましたが、アイデアがありません。この問題に対する新たな視点をいただければ幸いです。

ありがとう!

0 投票する
1 に答える
36 参照

mysql - ギャップを埋めて 2 つの SELECT ステートメントを組み合わせる

私はこのSELECTを持っています:

そしてこの結果を得る:

ここでSQLフィドルを参照してください

次に、追加の COUNT と Datefilter を使用してほぼ同じ SELECT を作成します。

そしてこの結果を得る:

ここでSQLフィドルを参照してください

2 番目の SELECT では、すべての情報が得られるわけではありません。両方の SELECT からのミックスが必要です

2 番目の SELECT は、次の結果のようになります。

2つのSELECTSでRIGHT JOINすることは可能ですか? または、結果を取得する別の方法はありますか?