【发布时间】:2011-05-25 12:20:08
【问题描述】:
使用这个语句:
select * from qvalues where rowid ,name,compound in (
select rowid,name,compound from qvalues where rowid in (select rowid from batchinfo where instrument='tf1')
group by rowid,name,compound
having COUNT(*)>1
)
group by rowid,name,compound
having rid=min(rid)
出现此错误:
消息 4145,第 15 级,状态 1,第 3 行 在预期条件的上下文中指定的非布尔类型的表达式,靠近“,”。 消息 156,第 15 级,状态 1,第 8 行 关键字“组”附近的语法不正确。
这个 SQL 语句有什么问题?我需要在表having min(rid) 中找到这三个字段的所有匹配项。
更新 使用此查询,外部选择不起作用。我做错了什么?
select * from qvalues where rid not in (
select q.rowid, q.name, q.compound, min(q.rid)
from qvalues q
inner join batchinfo b
on q.rowid = b.rowid
and b.instrument = 'tf1'
group by q.rowid, q.name, q.compound
having count(*) > 1)
【问题讨论】:
-
你说的SQL Server? 8 号线在哪里?
标签: sql sql-server tsql sql-server-2008