这是我的基本查询
SELECT * from ACTIONS where STARTDATE < '2015-05-01' and EXPORTDATE is null
我需要加入表格合约,并且只包括SERIAL在两个表格中相同的记录和ENDDATE(在合约中)&lt; &#39; 2015年3月1日&#39;
一旦我查看了数据,我就需要在ACTIONS上设置更新查询,将STARTDATE设置为相同记录的新日期。
答案 0 :(得分:4)
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'
。
答案 1 :(得分:2)
或使用其他符号。
SELECT * from ACTIONS act
INNER JOIN CONTRACTS con on act.serial = con.serial
where con STARTDATE < '2015-05-01'
and act.EXPORTDATE is null