0

我在 MySQL 中有 2 个表

  • 项目:

    
    ProjectID         ProjectStatus
        1                    0
        2                    0
        3                    0
        4                    0
        5                    0
    

  • 引述:

    
    QuotationID         ProjectID            QuotationNumber
        1                    1                     X001
        2                    2                     X002
        3                    3                     X003
        4                    1                     X004
        5                    2                     X005
    

我需要一个可以更新或编辑表 Project 中的 ProjectStatus 的 SQL 语法

如果项目在报价表中,则将 ProjectStatus 更改为 1 如果项目不在报价表中,则将 ProjectStatus 更改为 2

所以在我运行了那个 SQL 语法之后,项目表将变成这样:

  • 项目(查询运行后):
    
    ProjectID         ProjectStatus
        1                    1
        2                    1
        3                    1
        4                    2
        5                    2
    

我尝试了很多查询,但我无法弄清楚。

任何人都可以帮忙。

谢谢您的帮助。

4

2 回答 2

1
UPDATE Project
LEFT OUTER JOIN Quotation
ON Project.ProjectID = Quotation.ProjectID
SET Project.ProjectStatus = IF(Quotation.ProjectID IS NULL, 2, 1)
于 2013-07-02T09:25:56.490 回答
1
UPDATE Project p
LEFT JOIN Quotation q
ON p.ProjectID = q.ProjectID
SET ProjectStatus = IF(q.ProjectID IS NULL, 2, 1)
于 2013-07-02T09:26:58.963 回答