使用带有子查询返回错误的select查询更新记录

时间:2013-11-27 19:17:53

标签: sql

错误:当EXISTS未引入子查询时,只能在选择列表中指定一个表达式。

我理解这个错误,但我不知道如何重写查询以避免它。我正在根据从中导入文件的时间戳查找f1,f2和f3中具有重复值的记录。不在子查询中的记录应按指示进行修改。我的结果中不需要import_file_timestamp,但我相信我必须包含它才能选择正确的记录版本。子查询本身会返回正确的信息。我该怎么做?

update      import_raw_records
set         raw_record_status = 'I'
from        import_raw_records
where       f1+f2+f3 NOT IN (
            select      a.f1+a.f2+a.f3,
                    max(b.import_file_timestamp)
            from        import_raw_records a
            inner join  import_files b
            on      a.import_file_id = b.import_file_id
            group by    a.f1+a.f2+a.f3)

谢谢, 约翰

0 个答案:

没有答案