zapytanie sql wiele tabel

0

tabele:

Ludzie
LudzieID
Imie

CzesciCiala
CzesciCIalaID
LudzieID
Wydajnosc

chce zwrocic wszystkie imiona ludzi, ktorych suma Wydajnosci wszystkich czesci ciala jest wieksza od 100

czy ten kod jest ok:

SELECT Ludzie.Imie
FROM Ludzie INNER JOIN CzesciCiala
ON Ludzie.LudzieID = CzesciCiala.LudzieID
WHERE SUM(wydajnosc) > 100

z gory dzieki za info

0

Bez grupowania się raczej nie obejdzie ;)

0

wykonaj, to się dowiesz...
brakuje mi group by Ludzie.Imie

0

ok, ale jak :)

PS. jakbym chcial zwrocic imiona wszystkich z wydajnoscia = 5 to wystarczy:

SELECT Ludzie.Imie
FROM Ludzie INNER JOIN CzesciCiala
ON Ludzie.LudzieID = CzesciCiala.LudzieID
WHERE wydajnosc = 5;

??

0

nie wiem czy dobrze zakumałem...

SELECT 
	Ludzie.Imie
FROM 
	Ludzie INNER JOIN 
	CzesciCiala ON (Ludzie.LudzieID = CzesciCiala.LudzieID)
GROUP BY 
	Ludzie.Imie
HAVING 
	SUM(CzesciCiala.wydajnosc) > 100

a to po Twojemu, jak byś chciał zwrócić imiona wszystkich z wydajnością = 5 ... to zwrócone zostaną imiona ludzi, którzy mają akurat coś z wydajnością 5.

0

Wszystko fajnie, ale czy Imie jest unikalne w całej tabeli? Chyba nie, więc trzeba grupować po ID i po Imieniu.

0

SELECT
Ludzie.Imie
FROM
Ludzie INNER JOIN
CzesciCiala ON (Ludzie.LudzieID = CzesciCiala.LudzieID)
GROUP BY
Ludzie.ID, Ludzie.Imie
HAVING
SUM(CzesciCiala.wydajnosc) > 100

czyli tak ?

0

No ligoczne ze moge sobie sprawdzic, ale potrzebuje odpowiedzi, a nie ma dostepu do zadnej bazy

miejmy nadzieje, ze dobrez wydedukowalem >

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