SQL PROCEDURA

0

Witam, mam problem z procedurą która pobiera nazwe zespołu i wyświetla ilość pracowników danego zespoł

korzystam z aplikacji MYSQL WORKBENCH 8.0 CE
zapis procedury w skrócie:
CREATE DEFINER=root@localhost PROCEDURE iloscPrac(in naz varchar(20),out ilosc int)
BEGIN

select z.nazwa ,(select count(*) from pracownicy p where p.ID_ZESP=z.ID_ZESP)as ilosc_prac

from zespoly z
where z.nazwa=naz;
END

wywołując procedure podaje nazwe zespoły np call iloscPrac("Blue",@ilo)

Podana wyzej procedura działa poprawnie lecz brakuje 'into'
jezeli dodam do procedury into ( select z.nazwa ,(select count(*) from pracownicy p where p.ID_ZESP=z.ID_ZESP)as ilosc_prac into ilosc....... )

to przy wywołaniu jej wywala błąd
"Error Code:1222 The used SELECT statements have a different numer of columns"
Nw dlaczego tak sie dzieje.
Proszę o Pomoc i z góry dziękuję.

0

A co wraca Ci sam select?

3

No co się dziwisz skoro pobierasz 2 kolumny (z.nazwa i count) a into robisz tylko do ilosc. Utworz drugą zmienną typu "nazwa" - pewnie varchar - i dopisz into zmienna_nazwa, zmienna_ilosc. Ewentualnie wywal nazwę z select

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