2016-12-22 4 views
0

Я хочу получить данные из таблицы, где Id должен быть таким, как указано ниже в запросе, но вместо этого я бы применил и оператор, поэтому давайте скажем ID IN (5 И 4 И 3)Mysql Select Id in with And оператор

SELECT * FROM table WHERE id IN (5,4,3,1,6) 

Можно ли получить данные, подобные этому.

Это пример запроса

SELECT PM.ContentID, PM.Author, PM.Title, PM.Journal, PM.Year, PM.Category, PM.StudyLocation, PM.FileURL from PublishedContentMaster PM join TopicContentMapping T ON T.ContentID=PM.ContentID where PM.ContentID='100' AND T.TopicID IN (16,7) 

Так что я хочу, который присутствует в обоих 16 и 17, поэтому мне нужно, и оператор не или.

+0

Просьба показать данные образца и желаемые результаты. –

+0

Как ID может иметь значение 5,4,3,1,6 в то же время? В данном случае идентификатор может иметь любое значение, но не все. Ваш вопрос непонятен. Пожалуйста, перефразируйте его. –

+0

@MoishKamble Я использую фильтр, поэтому, скажем, я выбираю тему Один, он будет искать только один идентификатор, и если я выберу два или более, чем он будет работать наоборот –

ответ

1

Я подозреваю, что вам нужен запрос агрегации и предложение having. Это, как правило, выглядит примерно так:

select x 
from t 
where id in (5, 4, 3, 1, 6) 
group by x 
having count(*) = 5; 

В этом случае x будет столбец, где вы хотите пять строк с пятью значениями.

+0

, пожалуйста, см. мое обновление –