我使用了以下mysql查询:
select q.question,q.formnumber,g.forename,a.guardiancode from tblfeedbackquestions q
join tblfeedbackanswers a on q.id=a.questionid join tblguardian g on g.guardiancode=a.guardiancode where q.formnumber='3'
此查询的输出为:
现在我想要的只是同一个守护码的第一行应该出现在第1行和第2行的输出中我有监护人代码为10025但我只想要第一行,并且每个独特的守护码也是如此。请帮助我此
答案 0 :(得分:0)
您可以使用DISTINCT
从表中获取唯一值
SELECT DISTINCT column_name,column_name FROM table_name;
为监护人代码栏添加了DISTINCT
,
select q.question,q.formnumber,g.forename,DISTINCT a.guardiancode from tblfeedbackquestions q join tblfeedbackanswers a on q.id=a.questionid join tblguardian g on g.guardiancode=a.guardiancode where q.formnumber='3'
答案 1 :(得分:0)
您可以通过分组执行此操作。我不确定MySQL,但在大多数SQL实现中,这意味着您无法显示未分组的值。例如:
select a.guardiancode, min(q.id)
from tblfeedbackquestions q
join tblfeedbackanswers a on q.id=a.questionid
join tblguardian g on g.guardiancode=a.guardiancode
where q.formnumber='3'
group by a.guardiancode;
现在,您可以使用问题ID上的问题加入此查询的结果。
答案 2 :(得分:0)
你可以试试这个 即:
从tblfeedbackquestions q中选择q.question,q.formnumber,g.forename,a.guardiancode 加入tblfeedbackanswers a on q.id = a.questionid join tblguardian g on g.guardiancode = a.guardiancode其中q.formnumber ='3'group by a.guardiancode
希望它能起作用...... :)
答案 3 :(得分:-2)
尝试添加GROUP BY
:
select q.question,q.formnumber,g.forename,a.guardiancode
from tblfeedbackquestions q
join tblfeedbackanswers a on q.id=a.questionid join tblguardian g
on g.guardiancode=a.guardiancode
where q.formnumber='3'
GROUP BY g.guardiancode