Используя это утверждение:выражение не-булева типа
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)
Эта ошибка происходит:
Msg 4145, Level 15, состояние 1, строка 3 выражение не-логического типа указанного в контексте, где ожидается условие, около ','. Msg 156, Level 15, State 1, Line 8 Неверный синтаксис рядом с ключевым словом 'group'.
Что не так с этим оператором 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? – gbn
@gbn да действительно –