我应该使用什么SQL语句来显示另一个表中的正确ID

时间:2016-07-17 23:37:49

标签: php mysql sql

我的搜索功能可以正常运行50%,但并非所有数据都能正确获取。我想显示来自两个表的数据,但不幸的是,从第二个表中它显示我总是只是第一行:

我想要显示的数据: personname,personsurname,persondepartment,personboard(来自tblperson)以及来自成员的startdate和enddate。

这是我现在的查询,当我搜索id显示我想要的确切数据时,但是从成员表中它只获取包含开始日期和结束日期的第一行。

 var scriptData = ScriptLoader('pixi. js') ;
 var dynamicScript = document. createElement('script');
 dynamicScript.innerHTML = scriptData;
 document.body. appendChild(dynamicScript) ;

这是我的PHP代码:

"select * FROM tblperson, members 
 where personname = '$personname' AND personsurname = '$personsurname'
 GROUP BY personname";

1 个答案:

答案 0 :(得分:0)

SELECT 
  p.personid, p.personname, p.personsurname, p.persondepartment, p.personboard,
  max(m.startdate) AS last_startdate, max(m.enddate) AS last_enddate
FROM tblperson AS p
LEFT JOIN members AS m ON p.personid = m.personid ## please check this line
WHERE p.personname = '?'
AND p.personsurname = '?'
GROUP BY 1,2,3,4,5

如果您使用的是MySQL且personid是唯一键,则可以执行以下操作:

GROUP BY p.personid