left join 右表多條資料重複

2021-06-07 05:37:55 字數 709 閱讀 1219

mysql的left join從兩個表中聯合查詢資料,以左表為主,右表為輔。如果左表中有的內容右表中沒有,則用null填充。這是一般的常見的解釋。也很容易理解。但是在做右表的多資料查詢的時候就得寫條件了。

我寫乙個產品-產品的分頁過程中需要查出乙個即可。但是在用mysql的left join中,左表為product,鍵為pid。右表為image主鍵為imageid,外來鍵為pid。

查詢語句入下

select product.* from product left join image using(pid);

當輸出結果時發現,當乙個產品資料對多個資料時,產品會出現重複。這就是遇到的麻煩,查詢網路上有人有這樣的問題,

但是都是通過分步來解決,即查詢完畢產品資料,然後迴圈的時候再進行查詢並查詢1個輸出。

我想了半天,採用了另一種方法解決,left join 右表多條資料的情況,根據上面的我寫了如下sql語句

select product.*,foraspcn.image from product left join(select imagename,pid from image group by pid) as foraspcn

using(pid);

這樣查詢出來就是乙個產品對應乙個

即,在查詢右連線的表時,查詢的就是1條資料,通過groupby 來進行資料檢索。當然這樣的group by 是說不准查出那條來的。

我就是這樣解決的。

SQL更新多條資料

問題 有兩個不同的表,其中都有乙個編號的字段,而且儲存的內容是相同的,需要將一張表中的另外一些字段依據編號去與另乙個表中編號對應來更新到另乙個表中。方法 由於在sql中是不支援同時更新多條包含編號的資料的,所以當我們要更新多條資料的時候我們需要進行逐條的更新操作,這個時候我們需要用到游標。游標是只能...

SqlServer 插入多條資料

插入一條資料使用default關鍵字 insert into student studentno,loginpwd,studentname,gradeid,phone,address,borndate,email values 001 12345 張三 男 1,1234567890123 defau...

pychars繪製多條資料

usr bin envpython coding utf 8 import pandas as pd from pyecharts.charts import bar,pie,line 設定 from pyecharts import options as opts from pyecharts.r...