我有以下数据库结构。优化数据库查询
问题表。
id question desc
1 What was john's age? About john
选项表
id question_id option_value correct_ans
1 1 20 0
2 1 18 0
3 1 28 1
4 1 60 0
现在我想从两个与他们的选择所有问题的表格获得备案。 我想要以下结构。我做了代码并得到结果,但它花了两个SQL查询。首先从问题表中获取所有问题,然后创建一个数组,然后获取所有问题的选项并放入数组中。使用单个查询有可能获得这种类型的数据吗?
array([0]=array('question_id'=>1,
'question'=>'what was john's age',
'desc'=>'About john',
'options'=>array([0]=>array('option_id'=>'1',
'option_value'=>20,
'correct_ans'=>0),
[1]=>array('option_id'=>'2',
'option_value'=>18,
'correct_ans'=>0),
[2]=>array('option_id'=>'3',
'option_value'=>28,
'correct_ans'=>1),
[3]=>array('option_id'=>'4',
'option_value'=>60,
'correct_ans'=>0)
)
),
[1]=array('question_id'=>2,
etc...............
为什么你想要一个单一的查询? 2个查询是针对特定问题的完美解决方案。说“2个查询比1个慢”实际上与“1 2美元优于2美元100美元”相同 – zerkms