大家下午好
這是我第一次使用 SQL,所以請原諒我是新手。我創建了三個不同的表:
CREATE TABLE employee
(ID int,
fname text,
lname text,
age int,
hiredate date);
CREATE TABLE address
(ID int,
address1 text,
address2 text,
city text,
state text,
zip text);
CREATE TABLE contact
(ID int,
cellphone text,
homephone text,
email text);
我有指示我應該通過“在 where 子句中使用 fname 和 lname”來更新聯系人表中的一個人的手機號碼。
我知道如何直接更新表中的人的電話號碼,但是在兩個不同的表之間使用 IN 和 WHERE 以及 UPDATE 真的讓我很難過.. 有什么方法可以做到這一點,不涉及任何型別的詳細的解決方案?
我的思路涉及提出某種 if-then 解決方案。即如果我可以在表employee 中搜索特定的fname 和lname 并找到它,那么用我指定的新號碼更新聯系人手機號碼。但是..我不知道我是否可以做這樣的 if-then 陳述句。有人有什么建議嗎?
感謝您的時間!
uj5u.com熱心網友回復:
這使用IN CLAUSE, 因為可能有多個 ID 具有相同的名稱組合。
UPDATE contact
SET cellphone = '1234567890'
WHERE ID IN ( SELECT ID FROM employee WHERE fname = 'A' AND lname = 'B');
uj5u.com熱心網友回復:
update contact
set cellphone = 'xxx-xxx-xxxx', homephone = 'xxx-xxx-xxxx'
where ID = (
select ID from employee
where fname = 'Bob' and lname = 'Jones'
);
這確實假設只有一名員工會匹配,否則會導致錯誤(這通常是您想要發生的。)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/474992.html
