【发布时间】:2011-09-21 16:12:44
【问题描述】:
我有一个表 MYTABLE
N_REC | MYFIELD |
1 | foo |
2 | foo |
3 | bar |
其中 N_REC 是主键,MYFIELD 是非唯一字段。 我需要在 MYFIELD 上查询此表并提取关联的 N_REC,但前提是仅出现一次 MYFIELD;否则我不需要返回任何记录。 因此,如果我使用 MYFIELD='bar' 我会得到 3,如果我使用 MYFIELD='foo' 我不会得到任何记录。
我使用以下查询
select * from
(
select
n_rec,
( select count(*) from mytable where mycolumn=my.mycolumn ) as counter
from mytable my where mycolumn=?
)
where counter=1
虽然它给了我想要的结果,但我觉得我正在运行相同的查询两次。 有没有更好的方法来实现我正在做的事情?
【问题讨论】: