MySQLの結合が間違っています結果

ラファカルドソック

名前、スーパーバイザー、マネージャーの3つのテーブルがあります。名前のリストと、それらがスーパーバイザー、マネージャー、またはその両方であるかどうかを表示するクエリが必要です。

私の現在のクエリは問題の90%を達成し、スーパーバイザーであるものをすべて返し、それらがマネージャーでもあるかどうかをチェックします。ただし、ユーザーが「スーパーバイザー」ではなく「マネージャー」である場合は、クエリにリストされていません。

SELECT name.id,
name.email,
IF(sup.code = 1, 'Yes', 'No') as Supervisor,
IF(man.userId IS NOT NULL, 'Yes', 'No') as Manager
FROM employee name
LEFT JOIN supervisor sup ON name.id = sup.id
LEFT JOIN manager man ON name.id = man.id
WHERE sup.code = 1

ありがとうございました

pala_

あなたの問題はwhere条項です。これを含めることにより、結果を制限して、その値が設定されているもののみを含めることになります。明らかに、これは監督者ではない人には当てはまりません。

これouternishはあなたの参加を壊します。その機能を壊さずに左結合に追加の条件を設定するには、条件をonに移動する必要がありますこの場合、where従業員ごとにスーパーバイザーテーブルに複数のエントリが存在する可能性がない限り句を完全に削除することもできるようです

とにかく、あなたの2つの選択肢は次のとおりです。

SELECT name.id,
name.email,
IF(sup.code = 1, 'Yes', 'No') as Supervisor,
IF(man.userId IS NOT NULL, 'Yes', 'No') as Manager
FROM employee name
LEFT JOIN supervisor sup ON name.id = sup.id
LEFT JOIN manager man ON name.id = man.id

そして:

SELECT name.id,
name.email,
IF(sup.code = 1, 'Yes', 'No') as Supervisor,
IF(man.userId IS NOT NULL, 'Yes', 'No') as Manager
FROM employee name
LEFT JOIN supervisor sup ON name.id = sup.id AND sup.code = 1
LEFT JOIN manager man ON name.id = man.id

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

MDX結果の合計が間違っています

分類Dev

eulerProjectの関数の結果が間違っています

分類Dev

ElasticSearch結果のスコアが間違っています

分類Dev

dimplejs散布図の結果が間違っています

分類Dev

Application.Sumの結果が間違っています

分類Dev

NSDateFormatter dateFromStringの結果が間違っていますか?

分類Dev

!dumpheapの結果が間違っています

分類Dev

Python math.arctan()の結果が間違っていますか?

分類Dev

usort関数の結果が間違っています

分類Dev

クエリ結果でのHibernate結合継承のタイプが間違っています

分類Dev

MYSQL'select count(distinct col) '結果は間違っていますか?

分類Dev

Scalaではn個の数値の合計の結果が間違っています

分類Dev

PHP / MYSQLクエリの結果がなく、エンコードが間違っていますか?

分類Dev

ElasticsearchMatchQueryが間違った結果を返しています

分類Dev

SQL(Mysql)がORと組み合わされていない、間違った結果

分類Dev

Valgrindを使用したlongdoubleのstd :: fpclassifyの結果が間違っています

分類Dev

Haskell repa:2つの配列の内積結果が間違っています

分類Dev

Pythonを使用したGoogleScrapeの結果の数が間違っています

分類Dev

PHPのarray_count_valuesの結果が間違っています

分類Dev

phpでxpathを使用すると、結果の数が間違っています

分類Dev

Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

分類Dev

Objective-Cでは、fabsf()の結果タイプが間違っています

分類Dev

Conv2dTensorflowの結果が間違っています-精度= 0.0000e + 00

分類Dev

タイムデルタ操作の結果が間違っています

分類Dev

hash_djb2 PHPの結果が間違っていますか?

分類Dev

setIntervalによる関数の結果が間違っています

分類Dev

間違った結果でMySQL結合

分類Dev

MySQLの2列の合計が間違った結果

分類Dev

グループ連結の問題、結果は間違っています

Related 関連記事

  1. 1

    MDX結果の合計が間違っています

  2. 2

    eulerProjectの関数の結果が間違っています

  3. 3

    ElasticSearch結果のスコアが間違っています

  4. 4

    dimplejs散布図の結果が間違っています

  5. 5

    Application.Sumの結果が間違っています

  6. 6

    NSDateFormatter dateFromStringの結果が間違っていますか?

  7. 7

    !dumpheapの結果が間違っています

  8. 8

    Python math.arctan()の結果が間違っていますか?

  9. 9

    usort関数の結果が間違っています

  10. 10

    クエリ結果でのHibernate結合継承のタイプが間違っています

  11. 11

    MYSQL'select count(distinct col) '結果は間違っていますか?

  12. 12

    Scalaではn個の数値の合計の結果が間違っています

  13. 13

    PHP / MYSQLクエリの結果がなく、エンコードが間違っていますか?

  14. 14

    ElasticsearchMatchQueryが間違った結果を返しています

  15. 15

    SQL(Mysql)がORと組み合わされていない、間違った結果

  16. 16

    Valgrindを使用したlongdoubleのstd :: fpclassifyの結果が間違っています

  17. 17

    Haskell repa:2つの配列の内積結果が間違っています

  18. 18

    Pythonを使用したGoogleScrapeの結果の数が間違っています

  19. 19

    PHPのarray_count_valuesの結果が間違っています

  20. 20

    phpでxpathを使用すると、結果の数が間違っています

  21. 21

    Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

  22. 22

    Objective-Cでは、fabsf()の結果タイプが間違っています

  23. 23

    Conv2dTensorflowの結果が間違っています-精度= 0.0000e + 00

  24. 24

    タイムデルタ操作の結果が間違っています

  25. 25

    hash_djb2 PHPの結果が間違っていますか?

  26. 26

    setIntervalによる関数の結果が間違っています

  27. 27

    間違った結果でMySQL結合

  28. 28

    MySQLの2列の合計が間違った結果

  29. 29

    グループ連結の問題、結果は間違っています

ホットタグ

アーカイブ