我有一個問題(對於我來說很複雜)的MySql查詢。Mysql查詢問題
好了,這是我需要做的:
首先,我需要檢查一些特定的用戶收到的郵件
$mid=$_SESSION['user'];
$stat1=mysql_query("SELECT id, fromid, toid, subject FROM messages WHERE
toid = '".$mid."' AND subject != 'not readed' GROUP BY fromid ")
or die(mysql_error());
while ($h = mysql_fetch_array($stat1))
{
$whosend=$h['fromid'];
,我需要做的第二件事是檢查用戶的狀態(刪除或不刪除)誰發送了消息(「fromid」)給我的特定用戶(「toid」)。這我必須從另一個表:
$stat2=mysql_query("SELECT id, status FROM members WHERE id='".$whosend."' AND
status ='1'")or die(mysql_error());
while ($s = mysql_fetch_array($stat))
{
然後我的問題開始出現。
如何獲取向status status = 1的特定用戶發送消息的用戶數量?不是消息的數量,而是發送它們的用戶的總數。
有沒有更簡單的方法來做這個查詢?我試着用連接表像
$stat=mysql_query("SELECT memebers.id, memebers.status, messages.toid,
messages.fromid,messages.subject,messages.id FROM members, messages
WHERE messages.toid='".$mid."' AND members.status ='7' ....
但即使在此查詢我需要的用戶ID是誰這個查詢之前發送的郵件這樣就會有另一個查詢之前該連接的表。
請發佈您的數據庫結構,這將有助於 – Josh 2010-03-12 13:32:01