簡體   English   中英

如何選擇等於另一列值的另一種類型的列

[英]How to select column equal another type of value of another column

我有2個表Hre_ProfileHre_WorkHistory 一個帶有以下腳本的2表聯接:

alter table Hre_Profile  add constraint fk_01 foregin key(ID) references 
Hre_workhistory (ProfileID)

Hre_Profile的架構如下:

Hre_Profile (ID UNIQUEIDENTIFIER primary key, SupervisorID UNIQUEIDENTIFIER, CodeEmp varchar(50))
ID                                   | SupervisorID | codeemp
D4ABD930-AC52-4F39-B235-0E6CA6C32309 | NULL         |400287
6FE02B7A-09C7-4955-80D7-0FD1A42CDD8B | NULL         |1002
ABC12343-AC52-4F39-B235-0E6CAVCXXCDS | NULL         |10007

Hre_WorkHistory的架構如下:

Hre_WorkHistory (ID UNIQUEIDENTIFIER primary key, ProfileID UNIQUEIDENTIFIER, Supervisor varchar(50))
ID                                 | ProfileID                      |Supervisor
1aE02B7A-09C7-4955-80D7-0FD1A42abD |D4ABD930-AC52-4F39-B235-0E6CA6C32309|1002
12343-AC52-24349-B235-0E6CAGVCXXCD |6FE02B7A-09C7-4955-80D7-0FD1A42CDD8B|10007

我想更新列SuperVisorID (Hre_Profile) = s2.supervisor (type ID)

update s1 set s1.SupervisorID = (s2.supervisor) from hre_profile s1 inner join hre_workhistory s2 on s1.id=s2.profileid
select s1.codeemp, s1.supervisorID, s2.supervisor 
from hre_profile s1 
inner join hre_workhistory s2 on s1.id=s2.profileid
Codeemp |        SupervisorID                       |    supervisor
400287  |     6FE02B7A-09C7-4955-80D7-0FD1A42CDD8B  |     1002
1002    |     ABC12343-AC52-4F39-B235-0E6CAVCXXCDS  |     10007

第三次嘗試-根據您在下面的評論,我有更改更新聲明-

update s1
set s1.SupervisorID = s1.ID
from Hre_Profile s1
inner join Hre_WorkHistory s2 on s1.id=s2.profileid and s1.CodeEmp = s2.Supervisor

第二次嘗試-好的,您正在嘗試從VARCHAR列更新UNIQUEIDENTIFIER列。 我認為您必須更改Hre_Profile表並將SupervisorID列的數據類型更改為VARCHAR(50)

ALTER TABLE Hre_Profile ALTER COLUMN SupervisorID VARCHAR(50) NULL;

第一次嘗試-我認為您正在尋找正確的更新語句來更新表。 請嘗試以下語法-

update s1
set s1.SupervisorID = (s2.supervisor)
from hre_profile s1
inner join hre_workhistory s2 on s1.id=s2.profileid

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM