[英]SQL Join Query Assistance on mySQL
这是我的基本查询
SELECT * from ACTIONS where STARTDATE < '2015-05-01' and EXPORTDATE is null
我需要将其与表Contracts一起加入,并且进一步仅包括两个表中SERIAL相同且ENDDATE(在Contracts中)<'2015-03-01'的记录
查看数据后,我需要对ACTIONS进行更新查询,以将STARTDATE设置为相同记录的新日期。
select语句的联接:
SELECT * from ACTIONS
JOIN Contracts ON Actions.Serial = Contracts.Serial
WHERE Actions.STARTDATE < '2015-05-01'
AND Actions.EXPORTDATE is null
AND Contracts.EndDate < '2015-03-01'
更新(使用带有连接语法的MySQL更新):
UPDATE Actions
JOIN Contracts ON Actions.Serial = Contracts.Serial
SET Actions.StartDate = 'NewDate'
WHERE Actions.STARTDATE < '2015-05-01'
AND Actions.EXPORTDATE is null
AND Contracts.EndDate < '2015-03-01'
如果要缩短查询,可以为Contracts AS C
等表使用别名,然后使用如下别名来引用该表: C.EndDate < '2015-03-01'
。
或使用其他符号。
SELECT * from ACTIONS act
INNER JOIN CONTRACTS con on act.serial = con.serial
where con STARTDATE < '2015-05-01'
and act.EXPORTDATE is null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.