MySQL: Dua jadual digabungkan menggunakan kunci utama dan kunci asing, bagaimana untuk mendapatkan semua rekod walaupun kunci asing belum diisi lagi
P粉486743671
P粉486743671 2023-08-09 14:15:07
0
1
454
<p>Saya berharap dapat mencari penyelesaian</p> <p>Saya mempunyai jadual dengan stok kunci utama</p> <pre class="brush:php;toolbar:false;">stkid (pk), nama</pre> <p>Jadual kedua (kongsi)</p> <pre class="brush:php;toolbar:false;">harga, kuantiti, stkid (fk)</pre> <p>Saya menjalankan pertanyaan ini tetapi ia hanya menunjukkan stok yang sudah mempunyai rekod dalam rekod kongsi Saya mahu semua stok dipaparkan walaupun tiada rekod dalam rekod kongsi</p> <pre class="brush:php;toolbar:false;">pilih nama, 0, jumlah(harga*kuantiti) / jumlah(kuantiti) sebagai purata, jumlah(kuantiti) sebagai qty daripada stok, kongsi di mana share.stkid = saham.stkid kumpulan mengikut (stock.stkid)</pre>
P粉486743671
P粉486743671

membalas semua(1)
P粉038161873

Anda boleh menggunakan pernyataan LEFT JOIN, yang juga akan memilih baris daripada jadual share表中选择相关行,即使在stock yang tidak dipautkan.

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
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan