で行を返さない含めます9が表示されます(e_id
の数の1つがゼロであるため)。MySQLはカウントが、私は次のMySQLのコードを持って、カウントがゼロ
私はLEFT JOIN
とRIGHT JOIN
の両方を試してみました。誰にも他の提案はありますか?
で行を返さない含めます9が表示されます(e_id
の数の1つがゼロであるため)。MySQLはカウントが、私は次のMySQLのコードを持って、カウントがゼロ
私はLEFT JOIN
とRIGHT JOIN
の両方を試してみました。誰にも他の提案はありますか?
私は何が必要なの、これがあると思われる:
SELECT COUNT(*) AS cnt, c.c_id, c.cdesc
FROM c
LEFT JOIN e on c.c_id = e.c_id
GROUP by c.c_id
用途:
SELECT COUNT(*) AS cnt, e.c_id, c.cdesc
FROM e
JOIN c on c.c_id = e.c_id
GROUP by c.c_id
SELECT COUNT(e.eid) AS cnt, e.c_id, c.cdesc
FROM c
left JOIN e on c.c_id = e.c_id
GROUP by c.c_id
eレコードが存在しない場合、e.cidはnullになり(e.eidと同様)、メイン・セレクトのcount(*)とc.c_idは(おそらく)良くなります。 –
あなたがCとEの両方のためにあなたのデータを囲むことはできますか?テーブルの1つに10行がない可能性があります – ajreal
実際には0ではなく省略されているe.eidのnull値です。同じc_idに対してeレコードとcレコードの両方が存在するか、あるレコードがあるテーブルに存在する可能性はありますか? –
@ajreal心配しないで、私はそれを修正することができたと思う! – TronCraze