2013-05-16 2 views
0

Моей схема базы данных, как следующаяКак написать этот запрос, чтобы показать результат для одного столбца на основе конкретных значений другого столбца?

таблицу - X имеет следующие 3 столбцы DOCID (идентификатор документа), сроки (термины в документе), граф (число членов встречаемости термина для конкретного DOCID)

docid 
terms 
count 

Как написать запрос, чтобы найти документы, содержащие как слова «привет», так и «привет» в столбце терминов?

ответ

1
Select DocId 
FROM TableName 
where Term IN ('hello','hi') 
Group by DocId 
Having Count(*)=2; 

DISTINCT ключевое слово в HAVING пункте гораздо предпочтительнее, если Term не является уникальным на каждом DocID

Select DocId 
FROM TableName 
where Term IN ('hello','hi') 
Group by DocId 
Having Count(DISTINCT Term)=2; 
1

Попробуйте, как это ...

Select DocId,Count(term) from Table Name 
where Term='hello' or Term='hi' 
Group by DocId 
Having Count(Distinct term)=2; 
1

Попробуйте это:

SELECT docid, COUNT(term) 
FROM tablex 
WHERE term IN('hello', 'hi') 
GROUP BY docid 
HAVING COUNT(DISTINCT term) = 2; 

в действии:

Смежные вопросы