如图,mysql,如何用 A sql查询出的某一个字段的所有结果,当作另外一条B sql查询的一个字段?
本文介绍了如图,mysql,如何用 A sql查询出的某一个字段的所有结果,当作另外一条B sql查询的一个字段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
SELECT a.*FROM questionnaire a;
SELECT title as xzl_name FROM xzl a JOIN intention_xzl b on a.id= b.xzl_id WHERE b.questionnaire_id='941f69fa430740399ba4ef2506a11957';
SELECT name as service_area FROM area a JOIN service_area b ON a.id=b.area_id WHERE b.questionnaire_id='941f69fa430740399ba4ef2506a11957'
如图,让第2张图中所有的结果作为第1张图xzl_name字段里面的内容用顿号区分,第3张图所有的结果作为第1张图service_area字段里面的内容(所有内容都放入service_area这个字段)
解决方案
补充一下,终于看懂了。。intention_xzl的questionnaire_id对应questionnaire的id对吧?就是要三个sql结果关联到一起嘛,看下面sql:
SELECT
aa.*,
bb.xzl_name,
cc.service_area
FROM questionnaire aa
join
(SELECT
b.questionnaire_id questionnaire_id,
group_concat(title) xzl_name
FROM xzl a
JOIN intention_xzl b
on a.id= b.xzl_id
WHERE
b.questionnaire_id='941f69fa430740399ba4ef2506a11957'
group by b.questionnaire_id) bb
on aa.id=bb.questionnaire_id
join
(SELECT
b.questionnaire_id questionnaire_id,
group_concat(name) service_area
FROM area a
JOIN service_area b
ON a.id=b.area_id
WHERE
b.questionnaire_id='941f69fa430740399ba4ef2506a11957'
group by b.questionnaire_id) cc
on aa.id=cc.questionnaire_id;
这篇关于如图,mysql,如何用 A sql查询出的某一个字段的所有结果,当作另外一条B sql查询的一个字段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文