今天在对两个表进行查询的时候,由于两个表的有已个字段名是相同的,最终导致了查询结果不是我要的,该问题导致我检查了很久啊。大致如下:
表A字段:
PID,PName,PNote
表B字段:
PID,Money,PayDate
查询语句如下:
SELECT PID,PName,(SELECT SUM(Money) FROM B WHERE PID=PID) TotalMoney ,PNote,(SELECT PayDate FROM B WHERE PID=PID ORDER BY PayDate DESC LIMIT 1) LastDate
FROM A
本来是想使用A表的值去在B表进行查询的,可最后返回的是所有的记录.最后发现是PID=PID的问题。最后我的解决方案是将PID赋值给另一个变量解决的。
如:
SELECT @PD:=PID P,PName,(SELECT SUM(Money) FROM B WHERE PID=@PD) TotalMoney ,PNote,(SELECT PayDate FROM B WHERE PID=@PD ORDER BY PayDate DESC LIMIT 1) LastDate
FROM A
不知道还有没有好方法了