Je crois que la requête ci-dessous devrait fonctionner. Cependant, quand je l'exécute, les résultats sont vierges. Je pense que cela se passe puisque pour l'instant, la table "commentaire" est vide. Il n'y a donc pas d'instance où s.smission = c.submissionid. Je voudrais avoir la requête ci-dessous pour travailler même s'il n'y a pas de s.smission qui équivaut à un c.submissionid. Dans ce cas, j'aimerais que countComments soit égal à zéro.Rendre un résultat de requête égal à zéro lorsqu'une condition est nulle
Comment est-ce que je peux faire ceci?
Merci à l'avance,
John
$sqlStr = "SELECT s.loginid, s.submissionid s.title, s.url, s.displayurl, l.username, count(c.comment) AS countComments
FROM submission AS s,
login AS l,
comment AS c,
WHERE s.loginid = l.loginid
AND s.submissionid = c.submissionid
GROUP BY s.loginid, s.submissionid s.title, s.url, s.displayurl, l.username
ORDER BY s.datesubmitted DESC
LIMIT 10";
$result = mysql_query($sqlStr);
$arr = array();
echo "<table class=\"samplesrec\">";
while ($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td class="sitename1"><a href="http://www.'.$row["url"].'">'.$row["title"].'</a></td>';
echo '</tr>';
echo '<tr>';
echo '<td class="sitename2"><a href="http://www...com/sandbox/members/index.php?profile='.$row["username"].'">'.$row["username"].'</a><a href="http://www...com/sandbox/comments/index.php?submission='.$row["title"].'">'.$row["countComments"].'</a></td>';
echo '</tr>';
}
echo "</table>";
Avez-vous essayé une jointure externe? Je pense que vous obtiendrez un 1 au lieu de 0 si vous utilisez ce choix exact, mais vous pouvez changer le nombre ... pour le rendre correct. – MJB
MJB, après avoir lu la question, j'ai essayé, mais la ligne n'apparaît pas dans le jeu de résultats pour moi. La réponse de a1ex07 fonctionne. – Ladlestein