Problem z zapytaniem Mysql

0

Witam!

Mam problem z zadaniem :

W jednym zapytaniu SQL uaktualnij kolumnę y wartością wspólną iloczynowi wartości czterech sum wierszy poszczególnych kolumn (y_sin,y_cos,y_tan,y_cot). Z sumować należy te wiersze, gdzie wartość y_sin jest przynajmniej dwa razy większa od y_cos, ale nie większa od pierwiastka piątego stopnia z wartości y_tan.

Tabela składa się z kolumn :
y double
y_sin double
y_cos double
y_tan double
y_cot double
x decimal(3,1)

kolumny y_sin,y_cos,y_tan,y_cot uzupełnione są kolejno sin,cos,tan i cot z x.

Ja zadanie zrobiłem tak :

update obliczenia,(select sum(y_sin)*sum(y_cos)*sum(y_tan)*sum(y_cot) as wynik from obliczenia where y_sin>(2*y_cos) && pow(y_tan,1/5) >= y_sin) as tab set y=wynik;

W każdym rekordzie y znajdzie się ta sama wartość. To o to tu chodziło? Czy może raczej o to że dla danego y_sin muszę znaleźć rekordy w których y_cos i y_tan dla których y_sin będzie spełniał warunki następnie z sumować takie rekordy wymnożyć kolumny. Potem dla następnego y_sin robię tak samo zapewniając sobie unikatowe wartości dla y.

0

przecież to nawet nie przejdzie przez parser. Składnia update wygląda tak (dla tego przypadku)

UPDATE nazwa_tabeli SET nazwa_pola = wartosc

co do tego co się ma znaleźć w tej kolumnie to ciężko stwierdzić :) Jeśli by w poleceniu było zamiast wartością wspólną iloczynowi wartością **równą** iloczynowi to by to było coś takiego
pole = (SELECT Sum(y_sin * y_cos * y_tan * y_cot) FROM nazwa_tabeli WHERE y_sin > y_cos * 2 AND y_sin <= pow(y_tan, 0.2))
albo
pole = (SELECT Sum(y_sin) * Sum(y_cos) * Sum(y_tan) * Sum(y_cot) FROM nazwa_tabeli WHERE y_sin > y_cos * 2 AND y_sin <= pow(y_tan, 0.2))

0

Masz racje miało być "równą" nie wspólna sorry za wprowadzenie w błąd.

przecież to nawet nie przejdzie przez parser. Składnia update wygląda tak (dla tego przypadku)

UPDATE nazwa_tabeli SET nazwa_pola = wartosc

Select zwraca tabele i z niej mogę sobie wybrać jej poszczególne elementy. Sprawdziłem i parser nie ma nic przeciwko.
Ogólnie zadanie zostawiłbym tak rozwiązane gdyby nie fakt że następne wymaga ode mnie wykorzystania kolumny y i wybrania z niej wartości parzystych. Czyli moim wypadku albo wszystkie wybierze albo nic. Stąd moje pytanie dotyczące tego zadania czy aby na pewno dobrze je zrozumiałem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1