MySQL:使用主鍵和外鍵連接的兩個表,如何取得所有記錄,即使外鍵尚未填入
P粉486743671
P粉486743671 2023-08-09 14:15:07
0
1
453
<p>我希望找到解決方法</p> <p>我有一張主鍵stock的表</p> <pre class="brush:php;toolbar:false;">stkid (pk), name</pre> <p>第二張表(share)</p> <pre class="brush:php;toolbar:false;">price, quantity, stkid (fk)</pre> <p>我運行了這個查詢,但它只顯示了已經在共享記錄中有記錄的股票 我希望顯示所有股票,即使在共享記錄中沒有記錄</p> <pre class="brush:php;toolbar:false;">select name, 0, sum(price*quantity) / sum(quantity) as avg, sum(quantity) as qty from stock, share where share.stkid = stock.stkid group by (stock.stkid)</pre>
P粉486743671
P粉486743671

全部回覆(1)
P粉038161873

您可以使用LEFT JOIN語句,它會從share表格中選擇相關行,即使在stock表中沒有連結的行也會選擇出來。

SELECT
  name,
  0,
  sum(price*quantity) / sum(quantity) as avg,
  sum(quantity) as qty
FROM stock
LEFT JOIN share ON share.stkid = stock.stkid
GROUP BY stock.stkid
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板