cari

Rumah  >  Soal Jawab  >  teks badan

MySQL: Dua jadual digabungkan menggunakan kunci utama dan kunci asing, bagaimana untuk mendapatkan semua rekod walaupun kunci asing belum diisi lagi

<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粉486743671P粉486743671533 hari yang lalu481

membalas semua(1)saya akan balas

  • P粉038161873

    P粉0381618732023-08-10 00:25:56

    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
    

    balas
    0
  • Batalbalas