Php mysql查询没有结束

Php mysql查询没有结束,php,sql,mysqli,Php,Sql,Mysqli,我有四张桌子 person ... PersonID, LASTNAME, FIRSTNAME users ... PersonID, IsApproved membership ... MembershipID, LastActiveYear 最后一张桌子把他们连在一起 mempershipperson ... MembershipID, PersonID 我需要生成列表,显示 选择'LASTNAME','FIRSTNAME','PersonID','MembershipID

我有四张桌子

person ... PersonID, LASTNAME, FIRSTNAME 

users ...  PersonID, IsApproved

membership ... MembershipID,  LastActiveYear
最后一张桌子把他们连在一起

mempershipperson ... MembershipID,   PersonID
我需要生成列表,显示

选择'LASTNAME','FIRSTNAME','PersonID','MembershipID'
“去年”在哪里 您需要从
成员身份
、到
成员身份人员
、到
用户
人员
。上面修改过的查询中的
JOIN
语句就是这样做的

SELECT LastActiveyear, M.MembershipID, P.FIRSTNAME, P.LASTNAME, U.IsApproved
FROM `membership` M, 
INNER JOIN `users` U ON u.MembershipID = M.MembershipID (or UserID?)
INNER JOIN `person` P.PersonID onM.PersonID
INNER JOIN `membershipperson` MP ON MP.PersonID = P.PersonID
WHERE `LastActiveYear` = 2012 AND `IsApproved` = 1

只是好奇,为什么将用户和个人作为两个不同的表?

您没有为用户或成员的加入指定条件;因此,数据库正在将每一行与每一行进行连接。请对用户和个人进行连接,而不是将其包含在“发件人”中section@andrewsi,这应该是答案。非常感谢您的快速回复。我没有设计数据库表。这与会员的类型有关。如果是一个家庭,那么所有家庭成员都会获得相同的“会员身份ID”,但每个人都会获得一个独特的“个人ID”。谢谢迈克尔,现在我有两个选择,你的和杰西卡的。这对我来说需要一些时间来尝试,所以我无法表明答案是否对我有效。@BobCooper-事实上,他们都给出了相同的答案,只是以单独的顺序连接
SELECT LastActiveyear, M.MembershipID, P.FIRSTNAME, P.LASTNAME, U.IsApproved
FROM `membership` M, 
INNER JOIN `users` U ON u.MembershipID = M.MembershipID (or UserID?)
INNER JOIN `person` P.PersonID onM.PersonID
INNER JOIN `membershipperson` MP ON MP.PersonID = P.PersonID
WHERE `LastActiveYear` = 2012 AND `IsApproved` = 1