MySQL: Zwei Tabellen, die mithilfe eines Primärschlüssels und eines Fremdschlüssels verknüpft sind. So erhalten Sie alle Datensätze, auch wenn der Fremdschlüssel noch nicht gefüllt ist
P粉486743671
P粉486743671 2023-08-09 14:15:07
0
1
435
<p>Ich hoffe, eine Lösung zu finden</p> <p>Ich habe eine Tabelle mit dem Primärschlüsselbestand</p> <pre class="brush:php;toolbar:false;">stkid (pk), name</pre> <p>Zweite Tabelle (Anteil)</p> <pre class="brush:php;toolbar:false;">Preis, Menge, stkid (fk)</pre> <p>Ich habe diese Abfrage ausgeführt, aber es wurden nur Bestände angezeigt, für die bereits ein Datensatz im freigegebenen Datensatz vorhanden war Ich möchte, dass alle Bestände angezeigt werden, auch wenn im freigegebenen Datensatz keine Datensätze vorhanden sind</p> <pre class="brush:php;toolbar:false;">Name auswählen, 0, Summe(Preis*Menge) / Summe(Menge) als Durchschnitt, Summe(Menge) als Menge Ab Lager, Aktie wobei share.stkid = stock.stkid gruppieren nach (stock.stkid)</pre>
P粉486743671
P粉486743671

Antworte allen(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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage