2012-01-06 12 views
0

私はこれまでに3つのテーブルを結合しようとしています。私は2つのテーブルを一緒に結合することができました。私は正しいデータを抽出していますが、SQL文にいくつかの単語を追加するとデータは表示されません。コードは以下の通りである:3テーブルに参加するMySQLで

ミーティング:MEETING_ID、タイトル、件名、会長、秘書、アクション

分:minute_id、件名、next_subject、承認を次のように

<?php 
$id = $_GET['meeting_id']; 

$result = mysql_query("SELECT * FROM Meetings INNER JOIN Minutes ON Meetings.meeting_id = Minutes.meeting_id INNER JOIN attendees ON attendees.meeting_id AND attendees.username WHERE Minutes.approval = 'approved' AND Meetings.meeting_id = '$id'") 
or die(mysql_error()); 

if (mysql_num_rows($result) == 0) { 
     echo '<h3>There Arent Any Minutes For This Meeting Yet</h3>'; 
    } else { 

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

     echo "<tr>"; 
     echo "<td><br/>" .'Title: '. $info['title']." </td>"; 
     echo "<td><br/><br/>" .'Subject: '. $info['subject']. "</td>"; 
     echo "<td><br/><br/>" .'Next Subject: '. $info['next_subject']."</td>"; 
     echo "<td><br/><br/>" .'Attendees: '. $info['username']."</td>"; 


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


?> 

私のデータベーステーブルがあります.... attendees_id、MEETING_ID、ユーザ名

誰:、

参加者をMEETING_ID?

+0

参加者とどのような基準で参加していますか?出席者の側で「meeting_id」と「user_name」と表示されます。 –

+0

なぜ、私はちょうどこの本当の[質問の並べ替え]をカバーする本当に長い質問と答えを書いた(http://stackoverflow.com/questions/12475850/how-can-an-sql-query-return-data-from-複数のテーブル)は、テーブルの結合がどのように機能するか、またデータベースの複数のテーブルから情報を取得する方法を明確にするのに役立ちます。 – Fluffeh

答えて

3

で25を置き換えることができます。

SELECT * 
    FROM Meetings 
INNER JOIN Minutes ON Meetings.meeting_id = Minutes.meeting_id 
INNER JOIN attendees ON Meetings.meeting_id = attendees.meeting_id 
WHERE Minutes.approval = 'approved' 
    AND Meetings.meeting_id = '$id' 

SQLは、出席者と分を持つ会議のみを返します。ミーティングにこれらがない場合は、INNER JOINステートメントをLEFT JOINに変更します。

+0

同じ2つのデータが画面の下に表示されている理由を教えてください。 – user1114080

2
SELECT Meetings.Meeting_Id,Meetings.Title,Meetings.Subject, 
Minutes.Subject AS MinuteSubject, 
Attendees.AttendeesID 
FROM 
Meetings 
INNER JOIN 
Minutes 
ON Meetings.Meeting_id=Minutes.Meeting_Id 
INNER JOIN 
Attendees 
ON Attendees.Meeting_id=Meetings.Meeting_ID 
WHERE Meetings.Meeting_id=24 

あなたは、出席者のテーブルが正しく結合されていませんあなたの変数

+0

私は同じ2つのデータが画面の下に表示されている理由を教えていただけますか? – user1114080

+0

1つの会議に複数の出席者がいる場合、参加者は2つのレコードを返します。ただし、出席者のIDは異なります。このクエリーはすべての出席者を集団ミーティングに参加させるものです。期待している結果は何ですか? – Shyju

関連する問題