簡體   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