2014-02-02 4 views
-2

В моей таблице db «maxlimit» поле со значением null означает неограниченное, поэтому, когда я группирую две строки, следует добавить «maxlimit» и сказать, что значение null + 100 должно давать мне null, а вместо этого показано 100. Как мне написать его, чтобы дать мне значение null, которое не ограничено?Добавление null возвращает целое число

+0

Во-первых: включите соответствующий тег в свой вопрос (если вы спрашиваете о базах данных, вы должны включить соответствующий тег СУБД). Во-вторых, вы пробовали что-нибудь, чтобы решить проблему самостоятельно? – Barranka

ответ

0

Ваш вопрос довольно расплывчатым, но это может помочь:

select (case when maxlimit is null then null else maxlim + 100 end) as maxlim_updated 
from yourtable 

Итак, ваш комментарий делает ваш вопрос чуть-чуть более четкий ... и вот другое возможное решение:

select 
    groupId, 
    case 
    when sum(maxlimit is null) > 0 then null 
    else sum(maxlimit) 
    end as sumOfMaxLimit 
from 
    test 
group by 
    groupId; 

Проверьте это SQL Fiddle example.


Некоторые из них (бесплатно) совет:

  • Прежде чем спрашивать, убедитесь, что вы пытаетесь решить проблему самостоятельно и публикуйте свои усилия. Прочтите this article.
+0

выберите groupid, sum (maxlimit) из группы mytable groupid; если первая строка равна нулю, а вторая - 100, я должен получить значение null – JaseemAmeer

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