2016-08-19 1 views
0

Если два события A и B не являются взаимоисключающими, вероятность того, что A или B будет иметь место, равна: P (A или B) = P (A) + P (B) - P (A и B)не взаимоисключающая вероятность добавления в SQL?

для моей проблемы, это е (а, б) = а + ба * б

Теперь, если один является вычислить Р (а или в или с), то один должен цепной состав этой функции, как F (c, f (a, b))

Есть ли способ сделать это эффективно в SQL без использования курсора, когда есть много строк для подведения итогов?

Update

Полный ответ, основанный на @ ответ MikeP в:

SELECT 1-EXP(SUM(LOG(1.0-x))) FROM #foo 

Спасибо MikeP. :)

ответ

1

Как насчет $ P (A + B + C) = 1 - not (A) \ cdot not (B) \ cdot not (C) $?

+0

Будет ли это отвечать на всю общность исходного вопроса? –

+1

хорошо вопрос. Я определенно был более сосредоточен на части эффективности, чем часть расширяемости ... –

+1

SELECT 1-EXP (СУММ (LOG (1.0-x))) FROM #foo - возможно – Chris