Comment définir une valeur de colonne sur "1" lorsque la somme (Price)> = 88
par exemple: Si la somme (prix) du client A est supérieure ou égale à 88, la livraison sera mise à jour comme "y " p>
Table client: Nom, prix, livraison (je n'ai indiqué que la colonne importante) p>
My SQL requête: P>
UPDATE customer SET delivery ='Y' WHERE (SELECT SUM(price) FROM customer GROUP BY name )>=88;
4 Réponses :
Définissez la colonne sur la valeur que vous sélectionnez dans la table et ne les regroupez pas. Vous utilisez désormais votre requête et il a l'air plus propre p>
Set colonne_x = (Sélectionnez la somme (prix) du client) code>
UPDATE customer
SET delivery ='Y'
WHERE COLUMN_X = >=88;
Vous ne dites pas quelle base de données que vous utilisez (ou quelle version de celle-ci), vous pouvez donc essayer si ce standard em> sql fonctionne dessus:
essentiellement la même chose @TeMimposer vient de poster, mais avec une sous-requête au lieu d'un Obtenez les noms qui qualifient d'abord, puis rejoignez cette liste pour la mise à jour CTE code>.
Déclaration. P>
UPDATE t
SET delivery = 'Y'
FROM
#t AS t
JOIN
(
SELECT
name
,SUM(price) AS total
FROM
#t
GROUP BY
name
HAVING
SUM(price) >= 88
) AS d
ON
d.name = t.name;
Vous n'avez pas de rejoindre entre la table que vous mettez à jour et votre sous-sélection. Votre table n'a pas vraiment de clé, mais donnée ce que vous avez montré, je le ferais comme suit: si fondamentalement, il reçoit le nom de chaque client et la somme ou de leur commande Prix mais seulement où la somme est de plus de 888. Il tire alors simplement le nom de ce sous-sélection et met uniquement à jour les lignes où le nom existe dans la liste des noms des commandes de la somme de 88. P> P>
La plupart des bases de données ne vous permettront pas de
Mettre à jour CODE> Sélection des données à partir du même tableau que vous mettez à jour.
Veuillez ajouter des exemples de données et des résultats attendus. Quelques lignes iront un long chemin pour nous de comprendre votre problème.
Le plus probable
(sélectionnez la somme (prix) du groupe client par nom) code> retournera plus de 1 lignes, donc quelle condition voulez-vous postuler?
ont ajouté une photo de ma table. Je ne sais pas comment le structurer à regarder mieux dans Stackoverflow, alors j'ai pris un instantané à la place. Excusez-moi.