Błąd "Subquery returns more than 1 row" – dlaczego on wystepuje?

0

Witam mam problem z mySql'em wydaje mi się, że to co zrobiłem jest dosyć logiczne ale niestety pojawia się error subquery returns more than 1 row ma ktoś pomysł dlaczego tak? Idea zadania jest prosta mam policzyć ile filmów jest w danym języku a potem dodac kolumnę films_no do tabeli language gdzię umieszczę ilosc filmow w danym jezyku.

drop view if exists aa;
Create view aa AS
Select language_id, count(language_id) AS q
FROM film
Group by language_id;

Update language
Set films_no = (Select q from aa)
where language.language_id = (select language_id from aa);
0

Tutaj daj jeszcze jakiegos where'a, czy cos, żeby zwrociło pojedynczy wynik
Select q from aa

0
UPDATE `language` l inner join aa on (l.language_id=aa.language_id)
SET l.films_no = aa.q
0
a_s_f napisał(a):

Tutaj daj jeszcze jakiegos where'a, czy cos, żeby zwrociło pojedynczy wynik
Select q from aa

Jedyny where jaki przychodzi mi do głowy to jakieś q>1 ale to nic a nic nie zmienia i dalej ten sam błąd.Pozdrawiam

0
Paweł Dmitruk napisał(a):
UPDATE `language` l inner join aa on (l.language_id=aa.language_id)
SET l.films_no = aa.q

Dziękuję działa, a Mógłbyś mi powiedzieć w skrócie dlaczego ten błąd wyskakiwał?

0

tak jak napisał @a_s_f podzapytanie (SELECT q FROM aa) lub (SELECT language_id FROM aa) lub oba zwracały więcej niż jeden rekord, a po znaku równości możemy wstawić tylko jedną wartość

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