【发布时间】:2013-10-24 16:13:59
【问题描述】:
假设我想更新表course_main。我最初的查询是:
update course_main
set data_src_pk1 = 2
where course_id LIKE '%FA2013' and available_ind = 'N'
这会得到一些我不想更新的课程(幸运的是只有一小部分)。所以我有一个 select 语句来检索我想要更新的实际数据,它返回 145 行。
select course_id from course_main
where course_id like '%FA2013' and available_ind = 'N'
and course_id <> 'ENGL-0330-112WE-FA2013'
and course_id <> 'ENGL-0360-112WE-FA2013'
and course_id <> 'ENGL-0390-112WE-FA2013'
and course_id <> 'ARTC-1053-128HY-CEQ113'
and course_id <> 'ARTC-1353-128HY-FA2013'
and course_id <> 'HITT-1005-005IN-CEQ113'
and course_id <> 'HITT-1305-005IN-FA2013'
and course_id <> 'HITT-1305-006IN-FA2013'
and course_id <> 'READ-0300-104WE-FA2013'
and course_id <> 'READ-0340-104WE-FA2013'
and course_id <> 'READ-0370-104WE-FA2013'
and course_id <> 'WBCT-1003-011IN-FA2013'
and course_id <> 'WBCT-1005-011IN-CEQ113'
and course_id <> 'WBCT-1003-010IN-FA2013'
and course_id <> 'WBCT-1005-010IN-CEQ113'
and course_id <> 'ARTS-1301-012IN-FA2013'
order by course_id asc
我想使用更新语句仅命中第二个查询的 145 个结果。有关如何完成此操作的任何指示?
谢谢。
【问题讨论】:
-
注意
LIKE '%...'不能使用索引。
标签: mysql sql sql-server sql-server-2008