特定の顧客に販売したセールスマンをリストするクエリを作成することに成功しましたが、そうでないセールスマンはリストしませんでした。特定の顧客に販売したのと同じセールスマンが他の顧客にも販売したためだと思います。
select a.name from salesperson a inner join orders b on
a.salesperson_id = b.salesperson_id where cust_id="4";
私は、このように同じクエリを変更することでうまくいくと思っていました。
.... a.salesperson_id <> b.salesperson_id where cust_id="4";
しかし、結果にはすべてのセールスマンがリストされます。これは、元のクエリで返された同じセールスマンが他の顧客にも販売されたことが原因である可能性があります。
3つのテーブルは次のようになります。
Salesperson table
salesperson_ID, Name, Age, Salary
1 Abe 61 140000
2 Bob 34 44000
5 Chris 34 40000
7 Dan 41 52000
8 Ken 57 115000
11 Joe 38 38000
Customer table
cust_ID, Name, City Industry Type
4 faralon sacramento H
6 Apple cupertino S
7 Honda NY B
9 Kolb Oshkosh B
Orders table
Number, Order_date, cust_id, salesperson_id, Amount
10 8/2/1996 4 2 540
20 1/30/1999 4 8 1800
30 7/14/1995 9 1 460
40 1/29/1998 7 2 2400
50 2/3/1998 6 7 600
60 3/2/1998 6 7 720
70 5/6/1998 9 7 150
どんな助けでも大歓迎です。〜アルパインハイカー