php-使用子查询在mysql中构建嵌套对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php-使用子查询在mysql中构建嵌套对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1403字,纯文字阅读大概需要3分钟。
内容图文
![php-使用子查询在mysql中构建嵌套对象](/upload/InfoBanner/zyjiaocheng/882/cbed8067a14e43658b148317d01b3820.jpg)
我不确定在mysql中是否可行,但是我正在尝试从查询而不是php构建嵌套对象.我有一个调查结果数据库,我想构建一个对象,其关键是问题,而值是答案的数组/对象.这可能吗?我正在使用这样的东西:
SELECT
ss.*,
(SELECT int_value FROM `SubmittedQuestions` AS su WHERE ss.id = su.submitted_survey_id)
FROM
`SubmittedSurveys` as ss;
我必须在PHP中构建此对象吗?我的问题是我正在用PHP执行所有这些循环,我认为构建对象要花一些时间,而如果我可以在mysql中完成,那我认为这将是一个快速查询.让我知道您对这个问题有何想法.
我正在寻找这样的对象:
调查:{
问题1:[
答案1
答案2],
问题2: [
答案1
答案2]
}
因此,我目前在php中所做的是从一个表中查询所有调查问题,然后使用该对象,遍历并查询每个问题,并从另一张表中获取答案.如果有很多问题,该设计将非常慢,有人可以提出替代方案吗?
解决方法:
您描述自己已经在做的方式可能是最好的.您可以使用JOIN一次性检索所有内容,例如:
SELECT *
FROM surveys s INNER JOIN questions q
ON s.id = q.survey_id
INNER JOIN answers a
ON q.id = a.question_id
WHERE s.id = $submitted_survey_id
您的结果将如下所示:
survey1,question1,answer1
survey1,question1,answer2
survey1,question1,answer3
survey1,question2,answer1
survey1,question2,answer2
survey1,question2,answer3
survey1,question3,answer1
survey1,question3,answer2
survey1,question3,answer3
...
但是您仍然必须编写逻辑以将这些结果分解为合理的数据结构,并且您将从数据库中检索很多重复的数据.
SQL通常不会产生分层结果集,您必须以一种或另一种方式通过应用程序产生那些结果集.
内容总结
以上是互联网集市为您收集整理的php-使用子查询在mysql中构建嵌套对象全部内容,希望文章能够帮你解决php-使用子查询在mysql中构建嵌套对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。