SQL SELECT查询基于是或否问题

时间:2013-05-15 09:56:52

标签: mysql sql select-query

我有两个问题集。一个是是或否问题。基于这个问题的答案,我需要展示另一组问题。 为此,我添加了“是”或“否”问题的问题代码。 对于第二组问题,给出了这些问题代码,以确定是否显示此问题。

For example 
Y/N questions - Question Code
1.AAAAAAAA - AAA
2.BBBBBBBB - BBB
3.CCCCCCCC - CCC

Second Set questions - Question Code
1.XXXXXXXX - AAA && BBB
2.YYYYYYYY - AAA && !BBB
3.ZZZZZZZZ - AAA && !BBB && CCC

因此,仅当Y / N问题编号1和2回答是时,才会显示第二组问题编号1。 问题编号2仅在Y / N问题编号1回答是和编号2回答编号时显示 问题编号3仅在Y / N问题编号1回答是,编号2回答否和编号3回答是时显示。

我们如何编写查询以显示基于Y / N问题答案显示的第二组问题。

2 个答案:

答案 0 :(得分:1)

另一种方法是规范化表格。您的第二个表的第二列应该是第一组和第二组问题之间的关联(多对多)表。有了它,你的查询就会简单得多。

答案 1 :(得分:0)

在我看来,将这个逻辑放在数据库中是一种糟糕的设计方法。相反,我会将结果查询到您的逻辑层并分析结果。从这些结果中,您可以使用下一个问题创建一个新查询。

使用查询语句中的所有逻辑,这使得维护非常困难。