Dzień dobry.
MySQL zgłasza, że w ciele mojej funkcji jest błąd. Tj.:
#1054 - Nieznana kolumna 'sts.id' w where clause
Ten kod działał na MS SQL, ale niestety nie działa na MySQL. Co tu jest źle? Proszę o pomoc.
Dzięki
Michał.
CREATE FUNCTION zwrocDlaMom(showId int)
RETURNS DECIMAL(12, 6)
BEGIN
DECLARE wynik DECIMAL(12, 6);
SET wynik =
(SELECT www.res
FROM
(
select sho.id as one, tit.title as two, sts.id as three, 1.0 / 100.0 * (100 - tit.cinema) * sts.amount * tit.duration /
(
select xxx as test
from
(
select ss.setId, sum(duration) as xxx
from shows ss
join movies mvt on mvt.id = ss.title
where ss.setId = sts.id
group by ss.setId
) as test
) as res
from movies tit
join shows sho on sho.title = tit.id
join invoices invo on invo.id = sho.invoice and invo.company = tit.company
join sets1 sts on sts.id = sho.setId
where sho.id = showId
) as www);
return wynik;
end;
PS. Myślałem, że powodem błędu jest nazwa tabeli, która wcześniej była taka sama, jak słowo kluczowe sets
, dlatego zmieniłem ją na sets1
, ale i tak nie działa. Proszę o pomoc
Dzięki
Michał.