La multiplication de deux colonnes de même table et de stocker le résultat de la troisième colonne du même tableau
Je m avoir une table
SALES(sno,comp_name,quantity,costperunit,totalcost)
Après avoir fourni le costperunit
valeurs, totalcost
doivent être calculées comme "totalcost=quantity*costperunit".
Je veux multiplier 'quantity'
et 'costperunit'
colonnes et stocker le résultat dans 'totalcost'
colonne de la même table.
J'ai essayé ceci:
insert into SALES(totalcost) select quantity*costperunit as res from SALES
Mais Il a échoué!
Quelqu'un merci de m'aider dans la réalisation de ce..
Merci d'Avance
comme une meilleure pratique, ne pas stocker les attributs qui peuvent être calculés/dérivés
Je n'ai pas eu u..
ne pas stocker la colonne prixtotal comme il peut être dérivé de l'autre, deux colonnes, la quantité et la costperunit
pourquoi vous fournissez vos valeurs à l'identique ?
J'ai besoin de générer un rapport, où le total des coûts doivent être affichés thats y suis maintenant enregistré.!
Je n'ai pas eu u..
ne pas stocker la colonne prixtotal comme il peut être dérivé de l'autre, deux colonnes, la quantité et la costperunit
pourquoi vous fournissez vos valeurs à l'identique ?
J'ai besoin de générer un rapport, où le total des coûts doivent être affichés thats y suis maintenant enregistré.!
OriginalL'auteur rtvalluri | 2013-07-17
Vous devez vous connecter pour publier un commentaire.
Essayez de mettre à jour la table
Vous êtes les bienvenus. Veuillez cocher cette réponse.
OriginalL'auteur TechDo
Vous devez utiliser la mise à jour.
OriginalL'auteur Rohan
Il serait mieux si vous n'avez pas à calculer ce champ manuellement, mais en faire un colonne calculée au lieu - de sorte qu'il calcule automatiquement pour vous.
Vous pouvez modifier la colonne avec la requête suivante:
DÉMO
Pas grand chose de plus à ajouter, si vous exécutez MODIFIER votre
totalcost
de toujours afficher automatiquement les produits dequantity*costperunit
. Il ne sera pas stocker propres valeurs, mais de calculer à la volée à chaque fois que vous sélectionnez. Aussi, vous ne serez pas en mesure de changer les valeurs manuellement plus. En cas de doute, essayez avec une nouvelle colonne.Obtiens l'erreur "syntaxe Incorrecte près"
Vérifiez la version éditée. Apparemment
ALTER COLUMN
ne peut pas travailler avec des colonnes calculées. Vous avez besoin de déplacer et d'en créer de nouveau.Ouais je l'ai fait en tant que colonne calculée.. merci pour votre réponse
OriginalL'auteur Nenad Zivkovic
essayez ceci lors de l'insertion d'une nouvelle ligne
OriginalL'auteur Gemini
Préférable de ne pas stocker les champs qui peuvent être calculés, mais si vous le souhaitez, avec SQL Server, vous pouvez définir un champ calculé automatiquement lorsque les valeurs sont là.
Si vous utilisez SQL Server Management Studio, il y aura un attribut de colonne lors de la création ou de la modification d'une table appelée "Spécification de la Colonne Calculée" en vertu de "Concepteur de Table" (cela peut être fait dans le code, mais c'est plus facile). Vous pouvez mettre des expressions de là-bas comme [quantité]*[costperunit], et le champ sera toujours automatiquement évaluée par rapport à cette expression - ce qui signifie que vous ne jamais avoir à faire le calcul manuel.
Dats vraiment une façon plus intelligente! Merci beaucoup! Son travail
Pas de problème! N'oubliez pas de voter si cela vous a aidé!
comment voter? suis nouvelle à stackoverflow
OriginalL'auteur Sam Hood