1

あるテーブルから別のテーブルを更新する際に問題があります。2 つのフィールドが同じでEmployeesあるデータから、SQL で行を更新したいと考えています。また、その中に存在するものと一致しない場合は、新しい行を作成する必要があります 。これまでに 2 つのテーブルの結合を試みました。CompanyEmployeesEmployeeNumEmployeeNumCompanyEmployeesEmployeesEmployees

SELECT Employees.PhoneNum, Employees.Data, 
       CompanyEmployees.PhoneNum, CompanyEmployees.SystemData 
FROM CompanyEmployees 
INNER JOIN Employees 
ON CompanyEmployees.Employees=Techs.EmployeeNum  

両方のテーブルで正しい列データを取得しますが、更新しませんEmployees。どこかで INSERT または UPDATE が必要ですか? に存在しない場所
にデータの行全体を挿入するにはどうすればよいですか?CompanyEmployeesEmployeesCompanyEmployees.EmployeeNumEmployees

CompanyEmployeesは電話帳のみで、Employees電話番号やその他の情報があるため、これを行う必要があります。しかしCompanyEmployees、その中には入っていない新入社員がいますEmployees

4

1 に答える 1

0

RDBMS にはリレーショナルを表す R があることを思い出してください。それらは関係のために構築されています。
Employees テーブルを CompanyEmployees テーブルで更新するには、次のようなものを使用できます。

INSERT INTO Employees (columns) VALUES (SELECT columns FROM CompanyEmployees) ON DUPLICATE KEY UPDATE

「Employees」は「CompanyEmployees」のスーパーセットであるため、おそらく必要ありません。2 つのテーブルをマージするか、少なくともデータを 1 つのテーブルに移動することをお勧めします。

于 2013-02-13T13:45:29.503 に答える