Bir katılmak ama sadece yeni satır gerekir gibi MYSQL?

1 Cevap php

Ben aşağıdaki ama bir sorgu yapmak istiyorum:

$query = mysql_query("SELECT name FROM tbl_users WHERE category = '1'");
while($row = mysql_fetch_assoc($query))
{
$query2 = mysql_query("SELECT datecreated 
                       FROM tbl_comments 
                       ORDER BY datecreated DESC LIMIT 1");
$row2 = mysql_fetch_assoc($query2);
echo $row['name'] . " > " . $row2['datecreated'] ."<br />";
}

Bir kullanıcı tablo ve yorumlar tablo var, ben kullanıcıların bir listesini ve bunların yanında son yorumun tarihini görüntülemek istiyorsun?

Bu, tek bir sorguda mümkün mü?

1 Cevap

Aşağıdaki SQL kullanarak yapabilirsiniz:

SELECT name,
       (
        SELECT datecreated
          FROM tbl_comments
          WHERE tbl_users.user_id = tbl_comments.user_id
          ORDER BY datecreated LIMIT 1
       )
FROM tbl_users
WHERE category = '1';

OR kullanarak:

SELECT tbl_users.name, MAX(datecreated) AS latestcomment
  FROM tbl_users LEFT JOIN tbl_comments ON (tbl_users.user_id = tbl_comments.user_id)
  GROUP BY tbl_users.name;