Position、Employee、Training、Trmatrix の 4 つのテーブルがあります。
テーブルの位置
PositionId PosName TrainingId 1 開発者 1,2,3 2 デザイナー 4,5 3 BDA 2,3,6
テーブル従業員
Employeeid Ename Posid Courseid 1 アレックス 1 4 2 ショーン 2 1,2,3 3 ヘイルズ 3
テーブルトレーニング
Trainingid トレーニング名 1 ジャワ 2ドットネット 3ペソ 4 フォトショップ 5 Jクエリ 6 クライアントの取り扱い
TrMatrix
TrmatId TrID empID 1 1 1 2 2 1 3 3 1 4 4 1 5 4 2 6 5 2 7 1 2 8 2 2 9 2 3 10 3 3
外部キー関係 trmatrix trId は、trainingtable の trainingID に対応します。Employee posid は、Positiontable の PositionId に対応します。Employee courseId は trianingtable の trainingId に対応します。
BY 基本的な目的は、trmatrix テーブルに対応する EMployee.Courseid 列に存在しないコース/トレーニング名を取得することです。これは、従業員にエントリがない trmatrix テーブルからすべてのエントリを取得する必要があることを定義します表 Courseid 列。Alex の場合、コース 4 を除くすべてのデータを trmatrix テーブルからフェッチする必要があるとします。コース 4 は Employee テーブルの courseid 列にあるため、4 ではなくコース 1、2、3 が返されます。 SQL の初心者なので、この問題を解決してください。
前もって感謝します