2012-01-04 3 views
-1

2つのテーブルのデータをWebページ上の1つのテーブルに表示するためにテーブルに結合しようとしているmysqlクエリがありますか?2つのテーブルを結合するにはどうすればいいですか?

<?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

ことで ?クエリをそのまま実行すると結果が得られますか? –

+0

「USING」は適切な構文ではありません。それは 'ON'と比較節でなければなりません。 –

+1

@JeremyHolovacs:MySQLはUSING結合構文をサポートしています。詳細については、[JOINのドキュメント](http://dev.mysql.com/doc/refman/5.0/ja/join.html)を参照してください。 –

答えて

2

datetimeroomsテーブルの列なので、JOIN条件に含めないでください。試してみてください:

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

はこのエラーを取得しています:警告:は、mysql_fetch_array():指定された引数はEで有効なMySQLの結果リソースではありません:行60 – user1130533

+0

上EWSD \ MeetingSystemの\ secretary.php \ \ webareas \ bj115 \ year3それだけの部屋」列をチェックしています。あなたは '日付'、 '時間'の列に条件を与えられていません。 –

+0

@SomnathMuluk私の答えの最初の文を読んでください!私は 'date'と' time'は 'rooms'テーブル内の有効な列となり、したがって、JOINに参加してはならないとは考えていません。 –

0

"Using"キーワードでは、両方のテーブルを列名でチェックします。 Ist条件で内部結合をチェックし、結果が見つからない場合は次の列に左結合します。

「使用」キーワードを使用することは悪い習慣です。

USINGによる結合を簡略化します。 Multiple columns

- - 問題は何Single column

関連する問題