繁体   English   中英

MySQL上的SQL Join查询协助

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM