只有当该ID只有一条记录时,才需要更新表中的记录。如果已有多条记录,我还需要插入记录。
UPDATE survey, survey_errors
SET survey.depth = survey_errors.max_depth
WHERE survey.depth=-1
AND survey.hole_id=survey_errors.hole_id
AND survey_errors.max_depth Is Not Null
但现在如何确定survey.hole_id是否独一无二?
答案 0 :(得分:0)
根据您的要求,您可以通过这种方式找到uniqueId
:
SELECT
col1, col2
FROM
YourTable
GROUP BY
col1, col2
HAVING
COUNT(*) = 1
OR
您可以简单地使用DISTINCT
。它将为您返回没有重复的结果。
SELECT DISTINCT col1, col2
FROM YourTable
和
更新应该是这样的(这将仅更新唯一值):
UPDATE TblName
SET Anything = Anything2
WHERE Anything IN (
SELECT
Anything
FROM
TblName
GROUP BY
Anything
HAVING
COUNT(*) =1
)