以前にSQLで多くの結合を行ったことがありますが、これは機能したくありません-デカルト積を取得していますが、その理由がわかりません。(このコンテキストでは) 2 つのテーブルがあります。1 つは予定用で、もう 1 つは顧客用です。CustomerId は顧客テーブルの主キーであり、予定テーブルの外部キーです。
私が達成しようとしているのは、顧客の名前 (顧客テーブルに保存されている) とともにすべての予定を表示するクエリを実行することです。
これは私のクエリです:
SELECT a.AppointmentId
,a.Subject
,a.StartDateTime
,c.CustomerId
,c.FirstName
,c.lastname
FROM shared.Appointment a
INNER JOIN shared.Customer c ON a.CustomerId = c.customerid
WHERE a.BusinessCode = 'bp'
AND StartDateTime > '2013-02-11'
AND a.CustomerId > 0
GROUP BY c.customerid
,a.AppointmentId
,a.Subject
,a.CustomerId
,a.StartDateTime
,c.FirstName
,c.lastname
ORDER BY a.AppointmentId;
結果は恐ろしいデカルト積であり、選択部分に名/姓を追加し始めたときにのみ発生します。
誰かが私が間違っていることを見ることができますか?