我正在尝试将多个查询简化为1,并且由于某种原因我遇到了问题。我想在另一个表中计算ref时更新表中的引用计数。目前我所拥有的只是第一个表中的_Doc_ID。我想查找_FilePath,然后计算具有相同_FilePath的行数。然后按找到的数字更新Ref_Count。
表1
| _Doc_ID | Ref_Count |
| 1 | |
表2
| ID | _FilePath |
| 1 | 123/123 |
| 2 | 123/123 |
预期结果表1
| _Doc_ID | Ref_Count |
| 1 | 2 |
第一次查询
SELECT _FilePath AS FilePathResult from database.tableName where _Doc_ID = '1'
第二
SELECT count(*) AS TotalCount from database.tableName where _FilePath = FilePathResult
第三
Update table1 SET Ref_Count = TotalCount where _Doc_ID = 1
答案 0 :(得分:1)
UPDATE
sub-query
即可。
Update table1
SET Ref_Count =
(
SELECT count(*) AS TotalCount from database.tableName
where _FilePath = (SELECT _FilePath AS FilePathResult from database.tableName where _Doc_ID = '1')
)
where _Doc_ID = 1