2012-10-18 50 views
0

我試圖執行這個查詢從兩個表兩列,但我得到的錯誤「未定義指數: L-NAME」。我想從表和 一列(FNAME)計算行從其他表中選擇列(lname)。所以請幫助我。如何在MySQL

$result = mysql_query("SELECT COUNT(fname),lname FROM a,b"); 
    while ($row = mysql_fetch_array($result)) 
    { 
     echo "<tr><td>"; 
     echo $row['lname']; 
     echo "</td>"; 
     echo "<td>"; 
     echo $row['COUNT(fname)']; 
     echo "</td></tr>"; 
    } 
+1

怎麼都表了''和'b '相互關聯?我想你不需要在這裏使用'COUNT' –

+0

,'mysql_ *'函數已被棄用。 –

回答

2

您需要使用的別名。使用此:

$result = mysql_query("SELECT COUNT(fname) AS countfname,lname FROM a,b"); 
while ($row = mysql_fetch_array($result)) 
{ 
    echo "<tr><td>"; 
    echo $row['lname']; 
    echo "</td>"; 
    echo "<td>"; 
    echo $row['countfname']; 
    echo "</td></tr>"; 
} 
+0

...但錯誤是爲lname,而不是計數。 –

1

試試這個代碼:

$result = mysql_query("SELECT COUNT(a.fname) as fname,b.lname as lname FROM a,b"); 
while ($row = mysql_fetch_array($result)) 
{ 
    echo "<tr><td>"; 
    echo $row['lname']; 
    echo "</td>"; 
    echo "<td>"; 
    echo $row['COUNT(fname)']; 
    echo "</td></tr>"; 
} 
3

如果仍然出現錯誤,你可以嘗試分別取兩個:

$result = mysql_query("SELECT COUNT(fname) FROM a"); 
while ($row = mysql_fetch_array($result)) 
    { 
    echo "<tr><td>"; 
    echo $row['COUNT(fname)']; 
    echo "</td></tr>"; 

    } 

$result1 = mysql_query("SELECT lname FROM b"); 
while ($row = mysql_fetch_array($result1)) 
    { 
     echo "<tr><td>"; 
     echo $row['lname']; 
     echo "</td></tr>"; 
    } 
+0

對不起,但我不明白這個答案是如何解決原始問題的,這個問題(據我所知)試圖顯示所有的lname以及它們出現的頻率。 –