sql >> データベース >  >> RDS >> Mysql

ピボットテーブルmySQLを使用して特定の値をクエリする

    このクエリを試してください。 HAVINGを使用できると思います 条項。

    SELECT id, lead_id, form_id, 
    MAX(case when field_number = 1 then value end) username, 
    MAX(case when field_number = 7 then value end) email, 
    MAX(case when field_number = 6 then value end) tournament_name, 
    MAX(case when field_number = 3 then value end) primary_golfer, 
    MAX(case when field_number = 4 then value end) backup_golfer, 
    MAX(case when field_number = 5 then value end) date, 
    MAX(case when field_number = 8 then value end) tournament_id 
    FROM `wp_rg_lead_detail` GROUP BY lead_id
    HAVING tournament_id = '5b409692-e9ed-486e-8d77-7d734f1e023d'
    

    sqlFiddle sqlFiddleには、2つの異なるtournament_idとHAVINGのサンプルデータがあります。 そのtournament_idの値のみが返されるように句が適用されます。HAVINGを削除して、2行が返されることを確認できます。

    idとform_idも選択しているため、GroupByは標準ではありません。 IDを削除するか、MIN(id)またはMAX(id)とGROUP BY lead_id,form_idを使用することをお勧めします



    1. バルクSMSの送信は途中で停止します

    2. SQL Serverのデータベースで変更データキャプチャ(CDC)を無効にする方法-SQLServerチュートリアル

    3. Djangoviews.pyバージョンのSQL結合とマルチテーブルクエリ

    4. MariaDBでのUPPER()のしくみ