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

PHPPDOプリペアドステートメントバインドNULL値

    これはあなたの質問です:

    SELECT c.*, COUNT(d.servername) as servercount, d.controller
    FROM customers C JOIN
         customerdata d
         ON c.id = d.customer
    WHERE isVdi = :isVdi AND d.controller = :controller
    GROUP BY d.customer
    ORDER BY c.name ASC, c.environment ASC;
    

    残念ながら、= NULLは何でも trueに戻ることはありません。さらに残念なことに、MySQLはANSI標準のNULLをサポートしていません。 -安全なコンパレータis not distinct fromと区別されません 。しかし、幸いなことに、それには代替手段があります。これを試すことができます:

    SELECT c.*, COUNT(d.servername) as servercount, d.controller
    FROM customers C JOIN
         customerdata d
         ON c.id = d.customer
    WHERE isVdi = :isVdi AND
          d.controller <=> :controller
    GROUP BY d.customer
    ORDER BY c.name ASC, c.environment ASC;
    



    1. 列データが重複している場合、mysqlは行を2回カウントしません

    2. 並行トランザクションでの更新の喪失の問題

    3. MicrosoftAccessポッドキャストのエピソード2を聞く

    4. 複数の行とテーブルの文字列を1つの結果列に連結することは可能ですか?