2017-03-08 82 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 " 

你應該沒問題。