sqlite3使用另一个表的内部联接进行更新
我有两张桌子的度假套餐 holidayId的属性为(holidayId,holidayName) 包装sqlite3使用另一个表的内部联接进行更新,sqlite,Sqlite,我有两张桌子的度假套餐 holidayId的属性为(holidayId,holidayName) 包装 packageId INTEGER Primary Key NOT NULL holidayId INT NOT NULL endDate varchar(45) NOT NULL FOREIGN KEY(holidayId) References Holiday(holidayId) 我想根据sqlite3中假日表中holidayName的值更新包表匹配中endDate的值 意义 如果这是
packageId INTEGER Primary Key NOT NULL
holidayId INT NOT NULL
endDate varchar(45) NOT NULL
FOREIGN KEY(holidayId) References Holiday(holidayId)
我想根据sqlite3中假日表中holidayName的值更新包表匹配中endDate的值
意义
如果这是初始值
Holiday table
holidayName = "Package A";
Package table
endDate = "31-01-2014"
现在我想将endDate值从“31-01-2014”更新为“30-01-2014”
- 通过使用内部联接,它将与holidayId表中的holidayId和package表中的fk.holidayId相匹配
- 从holiday表中获取holidayName并找到holidayName=“package A”
- 如果找到holidayName=“Package A”,则会更新endDate值
UPDATE package
SET endDate = '04-02-2014'
WHERE holidayid in (
SELECT holidayid
FROM Holiday
WHERE holidayName = 'Package A'
) ;
UPDATE package
SET endDate = '04-02-2014'
WHERE holidayid in (
SELECT holidayid
FROM Holiday
WHERE holidayName = 'Package A'
) ;