说明
我有一个寻找问题解决方案的案例。找到解决方案的规则如下:
案例1:
IF T01 AND T02 AND T03 THEN S01
案例2:
IF T04 THEN S02
案例3:
IF T04 AND T05 AND T06 THEN S03
要显示有关此事的问题,请根据决策树进行设置。在问题1(T1)问的时候,然后有一个是或否答案。如果你有问题,选择'是'。如果它没有这个问题,那么选择答案'否'。然后询问下一个问题,直到找到解决方案(S)。
我的问题:
请参阅以下链接here上的决策树。
标题
T = trouble/problem;
S = solution;
Y = if answer is YES;
N = if answer is NO;
谢谢
答案 0 :(得分:0)
这可以通过以下方式实现:
-----------------------------------------------------
| decisionId | ifTrueDecisionId | ifFalseDecisionId |
=====================================================
| T01 | T02 | T04 |
-----------------------------------------------------
| T02 | T03 | S0 |
-----------------------------------------------------
| T03 | S1 | S0 |
-----------------------------------------------------
| T04 | T05 | S0 |
-----------------------------------------------------
依旧......
然后,您可以根据所述的问题/问题执行SQL查询。结果为您提供了新问题的说明。您再次查询下一步。
答案 1 :(得分:0)
SELECT
...,
IF(T01,
IF(T02,
IF(T03,
S01,
S0
),
S0
),
IF(T04,
IF(T05,
IF(T06,
S03,
S0,
),
S02
),
S0
)
) AS some_field_alias
...
根据http://oi59.tinypic.com/24cw9ye.jpg
使用此http://dev.mysql.com/doc/refman/5.1/en/control-flow-functions.html#function_if
您可以在mysql查询中使用此逻辑。每个T *可以是子请求以及S *。