2017-11-03 33 views
0

私はSQLを初めて使用しており、作成したデータベースに対してMySQLでクエリを書き込もうとしています。このクエリは、ホストされている各セミナーとそれに参加している各顧客の情報を表示するためのものです。このクエリは、誰も出席しないセミナーを表示するためのものです。これをどうやってやるの?事前にお手伝いいただきありがとうございます。MySQLクエリを取得して顧客なしのセミナーを表示する方法

SELECT sem.SeminarID, sem.SeminarDate, sem.Location, sem.SeminarTitle, cust.CustomerID, cust.LastName, cust.FirstName 
FROM seminar AS sem JOIN 
    seminar_customer as SC on sem.SeminarID = SC.SeminarID JOIN 
    customer AS cust on SC.CustomerID = cust.CustomerID   
ORDER BY SeminarID; 
+3

「JOIN」ではなく「LEFT JOIN」を使用してください。 –

+0

あなたの構造が何であるか、そしていくつかのサンプルデータについて、さらに詳しい情報を提供できますか? – Shawn

+0

またはGordonの提案を使用してください。 – Shawn

答えて

0

あなたのセミナーテーブルの一部の行がseminar_customerテーブルに一致する行がないことを返されることを可能にする「OUTER JOINをする」必要があります。あなたのクエリがseminar_customerは "左" にあるレイアウトされているように

、そう

 
SELECT sem.SeminarID, sem.SeminarDate, sem.Location, sem.SeminarTitle, cust.CustomerID, cust.LastName, cust.FirstName 
FROM seminar AS sem LEFT OUTER JOIN seminar_customer as SC on sem.SeminarID = SC.SeminarID 
        LEFT OUTER JOIN customer AS cust on SC.CustomerID = cust.CustomerID   
ORDER BY SeminarID; 

を参照してください "LEFT OUTER JOINを" 使用します。A Visual Explanation of SQL Joins

をあなたが単語 "OUTER" を省略することができますこれらの結合では、代わりに「LEFT JOIN」と表示されることがありますが、同じものです。

+0

あなたの質問は今解決されましたか?あなたはまだこの答えについて質問がありますか? [help/accepting](https://stackoverflow.com/help/someone-answers)の詳細については、[** Click The Tick **](https://ibb.co/ikqyO6) –

関連する問題