2012-01-04 141 views
-1

我有一個MySQL查詢試圖加入到表中顯示兩個表中的數據到網頁上的一個表上?你怎麼加入兩個表

<?php 
include 'library/connect.php'; 
$result = mysql_query("SELECT * FROM meetings INNER JOIN rooms USING ('room', 'date', 'time') "); 

echo "<table border='1'><tr><th>Title</th><th>Chairman</th><th>Secretary</th><th>Terms of Reference</th><th>Named membership</th><th>Occurences</th><th>Room</th><th>Date</th><th>Time</th></tr>"; 

while($row = mysql_fetch_array($result)) 
{ 
     echo "<tr>"; 
     echo "<td>" . $row['title']. "</td>"; 
     echo "<td>" . $row['chairman']. "</td>"; 
     echo "<td>" . $row['secretary']. "</td>"; 
     echo "<td>" . $row['termsOfReference']. "</td>";   
     echo "<td>" . $row['occurences']. "</td>"; 
     echo "<td>" . $row['room']. "</td>"; 
     echo "<td>" . $row['date']. "</td>"; 
     echo "<td>" . $row['time']. "</td>"; 

echo "</tr>"; 
} 
echo "</table>"; 
include 'library/closedb.php'; 
?> 

我需要兩個表ID的地方嗎?

+0

什麼問題?如果按原樣運行查詢,你會得到結果嗎? – 2012-01-04 19:07:07

+0

'USING'不是正確的語法。它應該是「ON」和比較條款。 – 2012-01-04 19:07:40

+1

@JeremyHolovacs:MySQL支持USING join語法。有關詳細信息,請參見[JOIN文檔](http://dev.mysql.com/doc/refman/5.0/en/join.html)。 – 2012-01-04 19:08:12

回答

2

我懷疑datetimerooms表中的列,所以它們不應該是JOIN條件的一部分。試試:

SELECT * 
    FROM meetings m 
     INNER JOIN rooms r 
      ON m.room = r.room 
+0

am得到這個錯誤:警告:mysql_fetch_array():提供的參數不是E:\ webareas \ bj115 \ year3 \ EWSD \ MeetingSystem \ secretary.php在60行的有效MySQL結果資源 – user1130533 2012-01-04 19:12:25

+0

它只檢查'room'列。你沒有給出'日期','時間'欄的條件。 – 2012-01-04 19:28:04

+0

@SomnathMuluk閱讀我答案的第一句話!我不認爲'date'和'time'是'rooms'表中的有效列,因此不應該參與JOIN。 – 2012-01-04 19:33:00

0

通過「使用」關鍵字,它將按列名檢查兩個表。它會檢查Ist條件下的內部連接,如果找不到結果,它將在下一列中進行左連接。

使用「使用」關鍵字是不好的做法。

通過USING簡化連接。 通過

- Multiple columns

- Single column