MySQL : deux tables jointes à l'aide d'une clé primaire et d'une clé étrangère, comment obtenir tous les enregistrements même si la clé étrangère n'est pas encore renseignée
P粉486743671
P粉486743671 2023-08-09 14:15:07
0
1
434
<p>J'espère trouver une solution</p> <p>J'ai une table avec le stock de clé primaire</p> <pre class="brush:php;toolbar:false;">stkid (pk), nom</pre> <p>Deuxième table (partage)</p> <pre class="brush:php;toolbar:false;">prix, quantité, stkid (fk)</pre> <p>J'ai exécuté cette requête mais elle n'a montré que les actions qui avaient déjà un enregistrement dans l'enregistrement partagé Je souhaite que tous les stocks soient affichés même s'il n'y a aucun enregistrement dans l'enregistrement partagé</p> <pre class="brush:php;toolbar:false;">sélectionner le nom, 0, somme (prix*quantité) / somme (quantité) en moyenne, somme (quantité) en quantité du stock, partager où partage.stkid = stock.stkid regrouper par (stock.stkid)</pre>
P粉486743671
P粉486743671

répondre à tous(1)
P粉038161873

Vous pouvez utiliser l'instruction LEFT JOIN, qui sélectionnera également les lignes de la table share表中选择相关行,即使在stock qui ne sont pas liées.

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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal