[英]How to generate data from a table to another table?
我在數據庫中有一個名為 Employee 的表,它有 4 列,即
每次在 aspx 頁面中添加新記錄時,它都會更新新的詳細信息。 例子:
EID EMPLOYEE_NAME DESIGNATION REPORTING_MANAGER
1 TIM COOK CEO Null
2 MILLER CTO TIM COOK
3 BRAD COO TIM COOK
4 WILLIAM HRD TIM COOK
5 JOHN TECH MANAGER(DEV) WILLIAM
6 WALLACE TECH MANAGER(TEST) WILLIAM
7 SUNDAR SWIFT DEV JOHN
8 PETER SWIFT DEV JOHN
9 STEVE TEST ENGINEER WALLACE
我想從上面的 table(table1) 生成 table2 中的數據,如下所示,
EID EMPLOYEE_NAME REPORTING_MANAGER_ID
1 TIM COOK Null
2 MILLER 1
3 BRAD 1
4 WILLIAM 1
5 JOHN 4
6 WALLACE 4
7 SUNDAR 5
8 PETER 5
9 STEVE 6
請幫幫我。
簡單的:
創建一個存儲過程,以使用 LEFT JOIN 從 Table1 中將數據插入到 Table2 中,以在 Table2 中插入/更新 Table1 中不存在的行。
在插入新詳細信息后調用此存儲過程(我假設 Table1 中的插入或更新是通過存儲過程進行的)
您可以通過多種方式執行此操作。
使用LEFT JOIN
:
SELECT e.EID ,
e.EMPLOYEE_NAME ,
e.DESIGNATION ,
e.REPORTING_MANAGER,
rm.EID AS REPORTING_MANAGER_ID
FROM Employee e
LEFT JOIN Employee rm ON rm.EMPLOYEE_NAME = e.REPORTING_MANAGER
子查詢路由:
SELECT e.EID ,
e.EMPLOYEE_NAME ,
e.DESIGNATION ,
e.REPORTING_MANAGER,
(SELECT TOP 1 rm.EID
FROM Employee rm
WHERE rm.EMPLOYEE_NAME = e.REPORTING_MANAGER) AS REPORTING_MANAGER_ID
FROM Employee e
SELECT T1.EID,
T1.EMPLOYEE_NAME,
T1.DESIGNATION,
T1.REPORTING_MANAGER,
T2.EID AS REPORTING_MANAGER_ID
FROM EMPLOYEE T1
LEFT JOIN EMPLOYEE T2
ON T1.EMPLOYEE_NAME = T2.REPORTING_MANAGER
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.