2012-01-03 5 views
0

私はこれと混同しています。私はインターネットを検索しましたが、それはまだ私を混乱させています。私はすべてがテーブルの上に表示させたいroom_idroomdatetimemeeting_idINNER JOIN文のあいまいな列

ミーティング:meeting_idtitlechairmansecretaryoccurances
部屋私は、次の表を持っています。

<?php 

$result = mysql_query("SELECT * FROM Meetings INNER JOIN Rooms ON meeting_id = Rooms.meeting_id") 
or die(mysql_error()); ; 

if (mysql_num_rows($result) == 0) { 
     echo 'There Arent Any Meetings Setup Yet'; 
    } else { 

echo "<table border='0'><table border width=100%><tr><th>Title</th><th>Chairperson</th><th>Secretary</th><th>Terms of Reference</th><th>Occurances</th><th>Room</th><th>Date</th><th>Time</th>";   

while($info = mysql_fetch_array($result)) 
{ 

     echo "<tr>"; 
     echo "<td><br/>" . $info['title']." </td>"; 
     echo "<td><br/>" . $info['chairperson']. "</td>"; 
     echo "<td><br/>" . $info['secretary']."</td>"; 
     echo "<td><br/>" . $info['tof']. "</td>"; 
     echo "<td><br/>" . $info['occurances']. "</td>"; 
     echo "<td><br/>" . $info['room']. "</td>"; 
     echo "<td><br/>" . $info['date']. "</td>"; 
     echo "<td><br/>" . $info['time']. "</td>"; 

     } 
    } 
echo "</tr>"; 
echo "</table>"; 


?> 

それは、次のエラーメッセージが表示されて出てくる:

列「MEETING_ID」節上で、私はすべてを表示しようとしています

曖昧で、次のように私のPHPです会議室のテーブルからのフィールドと明らかに部屋、日時のみ。

これを修正するにはどうすればよいですか?

答えて

1

meeting_idから選択するテーブルを定義する必要があります。

`SELECT * FROM Meetings INNER JOIN Rooms ON Meetings.meeting_id = Rooms.meeting_id` 
+0

ありがとう、それは働いた:) – user1114080

2

あなたはすなわち

FROM Meetings INNER JOIN Rooms ON Meetings.meeting_id = Rooms.meeting_id 

エラーメッセージは、実際に、かなりの問題を明確に説明し、そのテーブル名での参加で両方列の前に付ける必要があります:あなたは名前が複数のテーブルに存在する列を指定したときに、どの表の列を意味するのかを明示的に示さなければなりません。

0

エラーメッセージには、meeting_idが曖昧であるため、meeting_idとして制約する表を指定する必要があることが示されています。

SELECT * FROM Meetings INNER JOIN Rooms ON Meetings.meeting_id = Rooms.meeting_id 
0
mysql_query("SELECT * FROM Meetings INNER JOIN Rooms ON Meetings.meeting_id = Rooms.meeting_id") 

列名がjoin列に同じである場合は、明示的に特定のテーブルに属する列を言及する必要があります。