2017-10-16 2 views
-1

クエリデータを入れてみました:あなたの従業員表を見ずに、現在の瞬間にデータベースからデータが見えないようです。私は発表テーブル内の結果を生成しませ

SELECT AnnouncementID, 
Announcement, Date_Posted, Employee.EmployeeID , 
Employee.AccessLevel 
FROM Announcement 
INNER JOIN Employee on Announcement.AnnouncementID = Employee.EmployeeID; 

EmployeeTable

​​

+0

このクエリはエラーなしで実行されますか?あなたのテーブルはどうですか? –

+0

このクエリは実行されますが、実行するとデータはありません。 –

+0

テーブルとそのデータの例がありますか? * Announcementから*を選択するかEmployeeから*を選択するとどうなりますか –

答えて

0

をこのクエリを使用している場合、それは返す必要があります結果

SELECT AnnouncementID, 
    Announcement, Date_Posted, Employee.EmployeeID , 
    Employee.AccessLevel 
    FROM Announcement 
    LEFT JOIN Employee on Announcement.AnnouncementID = Employee.EmployeeID; 

この行の

ALTER TABLE Employee 
ADD EmployeeFK int; 


ALTER TABLE Employee 
ADD FOREIGN KEY (EmployeeFK) REFERENCES Announcement(AnnouncementId); 

ここでは非常に基本的な例が必要ですが、私はあなたが外国のキーを読む必要があります助言する。

http://sqlfiddle.com/#!9/261e20/1

announcementFKは、アナウンステーブルにannouncementidにリンクされている従業員テーブルの外部キーです。これらの値を結合することができます。

アナウンステーブルの値は1で、従業員テーブルの値は1なので、これらの一致と結果が返されます。申し訳ありませんが、インターネット上で説明するのは難しいです...

+0

[3]:https://i.stack.imgur.com/yI9jh.png [4]:https ://i.stack.imgur.com/0nref.png [5]:https://i.stack.imgur.com/9dHbl.png 私はクエリを試しましたが、これが結果です。私はアクセスレベルのデータを見たいが、私はそれを得ることができない –

+0

さて、私は今理解しています。内部結合問合せが機能しない理由は、従業員表に外部キーがないためです。アナウンステーブルのアナウンスIDを参照する外部キーを従業員テーブルに追加する必要があります。あなたがこれをしたら、あなたはそれらに参加することができ、あなたが望む結果を得るでしょう。 –

+0

私は再び私の質問を試みましたが、私はうまくいきません。 –

関連する問題