2017-03-19 13 views
0

私はMS Accessでクエリを作成しようとしています。私はお互いに関連している2つのテーブルを持っています。そこでは、いくつかのアイテムが直接の関係を持ち、両方のテーブルにリストされているだけでなく、1つのテーブルにのみ表示されるアイテムもあります。msアクセスクエリで空白フィールドを表示するにはどうすればよいですか?

私は他のテーブルに記載されていない項目を簡単に表示するためにクエリを作成しようとしています。 (例えば、私は2つのテーブル、学生リスト、ブック借用リストを持っており、借りたかもしれない学生を1つの質問で借りたことがないように見せたい)借りた学生は、申し訳ありませんが、借りたことのない学生にとっては、行全体が削除され、過去に何かを借りた学生が残っています。私は学生が何かを借りているかどうかにかかわらず、学生のリスト全体を見せたいと思っています。そして、何かを借りたことがないならば、借用フィールドをクエリの空フィールドとして残しておきます。

私は試してみましたNullは条件の1つですが、動作していないようです。

助けてください。前もって感謝します。

答えて

1

必要なものはOUTER JOINと呼ばれます。

 
| id | name | borrowed_count | 
|----|------|----------------| 
| 2 | Jane |    0 | 
| 1 | John |    2 | 
:あなたはすべての学生と彼らは関係なく、彼らは実際にあなたがこの

SELECT s.id, s.name, COUNT(b.book_id) borrowed_count 
    FROM students s LEFT JOIN borrowed b 
    ON s.id = b.student_id 
GROUP BY s.id 

出力のようなクエリを使用することができますいずれかを借りたかどうかに借りた本の合計数を一覧表示した場合A Visual Explanation of SQL Joins

をお読みください

ジェーンが本を借りたことはないが、まだリストに記載されている方法を参照してください。

SQLFiddleデモ

+0

実際には「INNER JOIN」を使用しました。それは仕事をしたようだった。ありがとう! –

関連する問題