MySql sélectionner l'intérieur d'un autre choix?
Est-il possible de faire cela?
SELECT sum(price) from table2 WHERE id=(SELECT theid FROM table1 WHERE user_id="myid")
J'ai table1 avec les éléments Identifiants, qu'un utilisateur a acheté. Je veux calculer la somme de tous les articles achetés par l'utilisateur.
Est la requête ci-dessus est légale? Si non, quelle est la forme correcte?
OriginalL'auteur Cristy | 2011-01-03
Vous devez vous connecter pour publier un commentaire.
Changement
where id=(SELECT
àwhere id IN (SELECT
Ou ce que vous voulez vraiment est probablement:
OriginalL'auteur Matt
vous de requête est ok, tant que le sous-sélection est de retour d'une ligne à chaque fois.
si il y a plus de lignes retournées, vous devrez changer votre requête à:
REMARQUE: dans votre cas, une simple jointure interne comme d'autres ont suggéré serait beaucoup plus redable (et peut-être un tout petit peu plus rapide) - mais ce que vous avez écrit est absolument ok (il y a toujours plusieurs façons d'obtenir le résultat souhaité - et il est toujours facile de dire que l'on est "le meilleur" 😉 )
OriginalL'auteur oezi
Vous pouvez également utiliser la syntaxe de JOINTURE
Devrait vous donner le même résultat
Les grands esprits se rencontrent 😀
OriginalL'auteur Sparky
Un
JOIN
serait plus lisible:OriginalL'auteur Phil Hunt
Vous devez utiliser SQL
JOIN
pour fournir cette fonctionnalité.OriginalL'auteur AhmetB - Google