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

左外部結合は、左のテーブルからすべての行を返さないのですか?

    ナンネの答え 与えられたものは、望ましい結果が得られない理由(WHERE句が行を削除する)を説明していますが、それを修正する方法は説明していません。

    解決策は、WHEREをANDに変更して、条件が結合条件の一部であり、結合後に適用されるフィルターではないようにすることです。

    SELECT day.days, COUNT(*) as opens 
    FROM day 
    LEFT OUTER JOIN tracking
    ON day.days = DAY(FROM_UNIXTIME(open_date)) 
    AND tracking.open_id = 10 
    GROUP BY day.days
    

    これで、左側のテーブルのすべての行が結果に表示されます。



    1. MariaDBでのNVL()の仕組み

    2. SQLを使用してこの日付をテーブルに入力できないのはなぜですか?

    3. PerconaXtraBackupとMySQLEnterpriseBackupの比較:パート1

    4. MariaDBで連結演算子としてパイプ(||)を有効にするための7つのオプション