2017-03-01 4 views
0

私は2つのテーブル、オーダ、顧客を持っていますが、注文のない顧客の顧客IDと名前を返そうとしています。SQLクエリは、他のテーブルに発生していないエントリを返します

customers 
customerID: integer 
name: string 

orders 
orderID: integer 
itemID: integer 
customerID: integer 
date: date 

私は現在、帰国されていない持っているものすべての結果は:

SELECT customers.customerID, customers.fName, orders.date 
FROM orders INNER JOIN customers 
ON orders.customerID = customers.customerID 
GROUP BY orders.customerID 
HAVING COUNT(*) = 0 
+0

あなたが顧客IDでグループにしようとしようとしている場合3列を印刷すると、クエリは最初に機能しません。執筆グループの基本的な論理をhttp://www.informit.com/articles/article.aspx?p=664143&seqNum=6で読む – user1658435

答えて

1

あなたはこれを達成するためにLEFT OUTER JOINが必要:

SELECT customers.customerID, customers.fName 
FROM customers LEFT OUTER JOIN orders on customers.customerID = orders.customerID 
WHERE orders.customerID IS NULL 
関連する問題