IN()節で副選択を使用したMySQLクエリで十分な結果が得られない

ベンカリイ:

SQLクエリを作成しましたが、期待した結果が得られません。私はsqlステートメントへの私のステップが何であったかを説明しようとします。

まず、IN()節で使用する副選択があります。

SELECT GROUP_CONCAT(job_id SEPARATOR ',') as job_ids
FROM candidate_job
WHERE candidate_id = 1111
GROUP BY candidate_id

結果は1,7,37,38,39,135,136であり、それはまさに私が期待していることです。次に、これらの連結された数値を外側のsqlステートメントで使用します。

SELECT GROUP_CONCAT(DISTINCT(user_id) SEPARATOR ',') as user_ids
FROM user_job
WHERE job_id IN (1,7,37,38,39,135,136)

これは私に139,539,1686,1759を与え、これはまさに私が期待するものでもあります。

ここで両方のクエリを組み合わせます。最初のクエリは、2番目のクエリのIN()句の副選択です。

SELECT GROUP_CONCAT(DISTINCT(user_id) SEPARATOR ',') as user_ids
FROM user_job
WHERE job_id IN (
    SELECT GROUP_CONCAT(job_id SEPARATOR ',') as job_ids
    FROM candidate_job
    WHERE candidate_id = 1111
    GROUP BY candidate_id
)

結果は139,539にすぎず、なぜ139,539,1686,1759になるべきではないのか理解できません。

なぜこれが当てはまるのか誰かが考えを持っていますか?IN()でGROUP_CONCAT()列を使用することはそれほど珍しいことではありませんよね?

GMB:

group_concat()カンマ区切りの文字列を提供しますこれを演算子のオペランドとして渡しても、期待どおりにinは動作しません(完全に一致するものを検索することになります)。

私はお勧めしexistsます:

SELECT GROUP_CONCAT(DISTINCT(user_id) SEPARATOR ',') as user_ids
FROM user_job uj
WHERE EXISTS (
    SELECT 1
    FROM candidate_job cj
    WHERE cj.candidate_id = 1111 AND uj.job_id = cj.job_id
)

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

MySQLクエリで結果が得られない日付条件

分類Dev

MySQLクエリでJSON_CONTAINSを使用しても結果が得られない

分類Dev

SQLクエリで正しい結果が得られない

分類Dev

PHP Elasticsearch、フィルターを使用したブールクエリで結果が得られない

分類Dev

gteおよびlteクエリを使用してmongodbで正確な結果が得られない

分類Dev

クエリでGROUP_CONCATを使用して正しい結果が得られない

分類Dev

MongoDB- $ polygonまたは$ geometryを使用した$ geoWithinクエリでは、異なる結果が得られます

分類Dev

Elasticsearchの用語クエリで結果が得られない

分類Dev

Oracleクエリ(PROC)で目的の結果が得られない

分類Dev

Elasticsearchクエリで結果が得られない

分類Dev

クエリで目的の結果が得られない

分類Dev

クエリで結果が得られない

分類Dev

レルムクエリで正しい結果が得られない

分類Dev

PDOが準備した状態で、手動クエリと同じ結果が得られない

分類Dev

Pandasでastypeを使用しても期待した結果が得られない

分類Dev

Mysql:IN句と内部クエリで正確な結果が得られないクエリ

分類Dev

PHPを使用したMySQLクエリから結果が表示されない

分類Dev

JPA / EclipseLink:結合されたWHEREクエリで期待される結果が得られない

分類Dev

MongoDBクエリ:応答で必要な結果が得られない

分類Dev

用語クエリで適切な結果が得られない

分類Dev

Delphi、MS Access、ADO:「パラメータを使用したクエリへのクエリ」では適切な結果が得られません

分類Dev

リッチクエリで結果が得られない-Hyeperledger Fabric v1.0

分類Dev

PHPで期待される結果が得られないクエリ

分類Dev

「ORA-01031:権限が不十分です」ビューを選択したが、基になるテーブルを選択していない

分類Dev

サブクエリで異なる結果が得られる

分類Dev

複数の結合で正しい結果が得られないLinqクエリ

分類Dev

SQL選択操作で奇妙な結果が得られる

分類Dev

リレーションを使用してクエリを選択しても、laravelで結果が得られません

分類Dev

MySql:副選択なしでこのクエリを構築する

Related 関連記事

  1. 1

    MySQLクエリで結果が得られない日付条件

  2. 2

    MySQLクエリでJSON_CONTAINSを使用しても結果が得られない

  3. 3

    SQLクエリで正しい結果が得られない

  4. 4

    PHP Elasticsearch、フィルターを使用したブールクエリで結果が得られない

  5. 5

    gteおよびlteクエリを使用してmongodbで正確な結果が得られない

  6. 6

    クエリでGROUP_CONCATを使用して正しい結果が得られない

  7. 7

    MongoDB- $ polygonまたは$ geometryを使用した$ geoWithinクエリでは、異なる結果が得られます

  8. 8

    Elasticsearchの用語クエリで結果が得られない

  9. 9

    Oracleクエリ(PROC)で目的の結果が得られない

  10. 10

    Elasticsearchクエリで結果が得られない

  11. 11

    クエリで目的の結果が得られない

  12. 12

    クエリで結果が得られない

  13. 13

    レルムクエリで正しい結果が得られない

  14. 14

    PDOが準備した状態で、手動クエリと同じ結果が得られない

  15. 15

    Pandasでastypeを使用しても期待した結果が得られない

  16. 16

    Mysql:IN句と内部クエリで正確な結果が得られないクエリ

  17. 17

    PHPを使用したMySQLクエリから結果が表示されない

  18. 18

    JPA / EclipseLink:結合されたWHEREクエリで期待される結果が得られない

  19. 19

    MongoDBクエリ:応答で必要な結果が得られない

  20. 20

    用語クエリで適切な結果が得られない

  21. 21

    Delphi、MS Access、ADO:「パラメータを使用したクエリへのクエリ」では適切な結果が得られません

  22. 22

    リッチクエリで結果が得られない-Hyeperledger Fabric v1.0

  23. 23

    PHPで期待される結果が得られないクエリ

  24. 24

    「ORA-01031:権限が不十分です」ビューを選択したが、基になるテーブルを選択していない

  25. 25

    サブクエリで異なる結果が得られる

  26. 26

    複数の結合で正しい結果が得られないLinqクエリ

  27. 27

    SQL選択操作で奇妙な結果が得られる

  28. 28

    リレーションを使用してクエリを選択しても、laravelで結果が得られません

  29. 29

    MySql:副選択なしでこのクエリを構築する

ホットタグ

アーカイブ