2012-01-04 78 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