簡體   English   中英

如何運行此 SQL 更新語句

[英]How to run this SQL update statement

我已經閱讀了文檔,但由於某種原因它只是沒有點擊。 這是我要運行的更新:

vSQL = "UPDATE consultant SET Availability = 'Available' FROM consultant JOIN contract ON consultant_id = contract_lead WHERE contract_end < sysdate ";

有人可以給我解決方案和解釋嗎?

sysdate的使用意味着(對我而言)您正在使用 Oracle。 對於最長結束日期已過的任何顧問,您可能希望將可用性設置為'Available' 那將是:

UPDATE consultant c
    SET Availability = 'Available' 
    WHERE (SELECT COALESCE(MAX(co.contract_end), DATE '2000-01-01')
           FROM contract co
           WHERE c.consultant_id = co.contract_lead
          ) < sysdate;

編輯(回應評論):

UPDATE consultant c
    SET Availability = 'Available' 
    WHERE (SELECT COALESCE(MAX(COALESCE(co.contract_end, sysdate)), DATE '2000-01-01')
           FROM contract co
           WHERE c.consultant_id = co.contract_lead
          ) < sysdate;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM