2013-03-14 1 views
0

Надеюсь, я смогу объяснить это правильно. Это то, что результат таблицы выглядит какSQL: Как получить отличное значение в сочетании с результатами строки

enter image description here

Content_IDs из 4,5,6 являются NEWS. Пока существует одно логическое значение true, столбец IsContentUpdated для NEWS, я бы хотел, чтобы различные логические НОВОСТИ были истинными в противном случае ложными.

В конце концов, что я просто хочу, чтобы это

enter image description here

Я попытался с временной таблицей с отсчетом IsContentUpdated, но это не очень хорошо работает. Я убежден, что мне не нужна временная таблица, но у меня есть судорога мозга, пытаясь понять, что я могу здесь сделать.

Любая помощь очень ценится. Благодаря!

+0

Какие СУБД вы используете? – squillman

+0

Не могли бы вы добавить более крупную картинку? – www

ответ

2

не уверен, что я хорошо понимаю, но если то, что вы хотите получить то, что вы показываете, это должно быть

SELECT Page_ID, MAX(CAST(IsContentUpdated AS INT)) 
FROM Table 
GROUP BY Page_ID 
+1

+1 - Это то, что я придумал. SQL-сервер не понравился 'MAX()' в столбце 'BIT', поэтому я должен был' CAST (AS INT) 'внутри' MAX() ' –

+0

@AdamWenger oh, хорошая точка на MAX в операнде BIT! Отредактировано для будущего;) –

+0

Святые курят! Это блестяще. Я думал, что мне нужно сделать что-то сложное и подумать, что запросить временную таблицу было бы проще. Это еще лучше. Спасибо за помощь! – cr8zymike

0

Это даст вам четкий список Page_ID с и является ли или нет какой-либо из них a IsContentUpdated = 1:

select distinct Page_ID, max(IsContentUpdated) 
from myTable 
group by Page_ID 
Смежные вопросы