MySQL中兩個表欄位名相同導致的乙個問題

2021-05-26 04:58:24 字數 635 閱讀 2265

今天在對兩個表進行查詢的時候,由於兩個表的有已個欄位名是相同的,最終導致了查詢結果不是我要的,該問題導致我檢查了很久啊。大致如下:

表a欄位:

pid,pname,pnote

表b欄位:

pid,money,paydate

查詢語句如下:

select pid,pname,(select sum(money) from b wherepid=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 wherepid=@pd) totalmoney ,pnote,(select paydate from b          where pid=@pd order by paydate desc limit 1) lastdate

from a

不知道還有沒有好方法了

Mybatis之取兩張表中存在相同欄位名

1.使用mybatis時候,經常涉及到多張表之間相互關聯取其中的某些字段。有時候可能要去兩張表的某些欄位名相同 下面兩張表是通過第三張關聯表相互關聯的,這裡就不展示 下面的兩個表都有name的相同字段 如何取得兩張表的兩個name值呢?baseresultmap type cn.runlin.jet...

對比兩個表中,欄位名不一樣的SQL

需要包括有幾種情況 一 a表中有的字段b表無 二 b表有的a表無 三 兩個表欄位名不一致的 如果只對比欄位名,可以這樣 一 a表中有的字段b表無 select name from syscolumns where id object id a and name not in select name ...

對比兩個表中,欄位名不一樣的SQL

需要包括有幾種情況 一 a表中有的字段b表無 二 b表有的a表無 三 兩個表欄位名不一致的 如果只對比欄位名,可以這樣 一 a表中有的字段b表無 select name from syscolumns where id object id a and name not in select name ...