我在一个投票脚本中工作,我有两个表 {hs_questions_q}{hs_answers_ans} 第一个存储问题,第二个存储它的答案
我用这个sql语句来检索数据
SELECT * FROM hs_questions_q INNER JOIN hs_answers_ans ON id_q=idq_ans WHERE active_q ='1' and home_q ='1' ORDER BY id_q DESC limit 1
我想知道但我无法在我的 PHP 代码中处理的是这个查询如何仅从问题表和答案表中返回最后一行,但我需要从问题表中检索最后一行并且答案表中与其相关的所有行
最佳答案
这将返回表中每个问题的 1 行,而不是答案的行数:
我假定结构:
hs_questions_q (id,desc)
hs_answers_ans(id,desc)
SELECT question.desc, group_concat(hs_answers_ans.desc SEPARATOR '#')
FROM (select *
from hs_questions_q
where active_q ='1' and home_q ='1' ORDER BY id_q DESC limit 1) question
INNER JOIN hs_answers_ans ON id_q=idq_ans
group by question.id
result:
question1 | Answer1#Answer2#Answer3
以后可以在php端获取结果后用#号分割
如果超过允许的数据包大小,您可能会得到截断的答案。你可以解决它,
SET SESSION group_concat_max_len = 6000(any threshold);
关于php - SELECT sql 语句,从一个表中检索一行,并从另一个表中检索许多相关行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767839/