2017-03-08 64 views
0

下面是MySQL语句的php代码。我试图通过lname这是在成员表中的姓氏命令。我试着从成员AS成员1和内部AS成员2,但此语句也会引发错误。我相信问题是我有两个相同的列名称,但在另一个ORDER BY JOIN示例中,我没有看到具有相同数据列的特定情况。只要我不在最后的ORDER BY行中发表评论,该声明本身就可以正常工作。MySQL的ORDER BY WITH JOIN

$sql=" 
SELECT * 
    FROM members m 
    JOIN paid p 
    ON m.member_id = p.member_id 
WHERE p.year = '$lastyear-12-31' 
    AND m.member_id NOT IN 
    (SELECT x.member_id 
     FROM members x 
     JOIN paid y 
     ON x.member_id = y.member_id 
    WHERE y.year = '$thisyear-12-31') 
ORDER 
     BY lname " 
+0

你会得到什么错误? –

+0

可能你在这两个表中都有lname,付费和会员。因此,您需要通过members.lname来订购 – MrSimpleMind

+0

为什么在“付费”表中有'lname'字段?您不应该在不同的表格中复制数据。 – Barmar

回答

0

为您的栏目命名。将别名添加到您要订购它的列中。

$sql.="ORDER BY members.lname " 

你应该没问题。