Existe-t-il un mode ou une méthode pour obtenir ce résultat? s'il vous plaît sembler mon image dans le post Je veux que mon résultat est un produit de nombres à la verticale (ligne noire) multiplié par le nombre horizontal (ligne rouge)En SQL comment je peux multiplier les résultats obtenus dans les lignes en résultats obtenus dans les colonnes
0
A
Répondre
1
S'il vous plaît essayez ceci:
select cast(exp(sum(log(ExpPeso))) as float) as myresult1, (tda1*tda2*tda3*tda4) as reslutset2
from TableName
1
Si vous serait normalize vos données en extrayant les colonnes numérotées dans une table telle que
Matrix
Name Value
Tda1 94.5
Tda2 21.1
Tda3 53.4
Tda4 21.1
et en supposant que la table originale est nommée table, avec des colonnes de valeur tda dans la colonne appelée nom et la valeur de se multiplier avec l'expression du nom (désolé ne peut pas lire vos noms de colonnes)
Ensuite, vous pouvez
SELECT matrix.value * table.expression
FROM matrix m INNER JOIN table t
ON m.name = t.tda_value
Si vous ne pouvez pas modifier la structure puis en SQL standard (à mon humble avis), vous devrez faire le cas
SELECT
CASE t.tda_value
WHEN "Tda1" THEN Tda1
WHEN "Tda2" THEN Tda2
WHEN "Tda3" THEN Tda3
WHEN "Tda4" THEN Tda4
ELSE 0
END * t.expression
FROM table
notes:
- vous pouvez avoir NULL ELSE (ou sauter d'autre).
- certaines bases de données ont des extensions à la norme qui vous permettent d'avoir des colonnes dynamiques aux lignes
EDIT: Bien sûr et au risque d'énoncer trop évident, à la fin vous pouvez faire une somme de ce qui précède question.
Juste pour essayer de comprendre, vous voulez prendre 66.28 et le multiplier par 84.5 et 21.1 et 63.4? Pourriez-vous donner un exemple de résultat basé sur les données de votre image? – NotMe
Les colonnes appelées Foo1, Foo2, Foo3, etc. sont généralement une indication d'un mauvais design. –
66.28x84.5, 58.76x21.1 .... dans cet ordre – elgianka