Permalänk
Medlem

Enkel sql fråga

Ok lite panik fråga här. Har varit sjuk under veckan och missat våra föreläsningar i sql.
Ska skriva tenta imorgon och ligger långt efter så vi får se hur det går.

I vilket fall så har jag ett problem med en uppgift som jag inte lyckats lösa. antagligen för att jag börjar bli trött men om någon orkar hjälpa mig ikväll så skulle det uppskattas.

Delen av databasen som berörs ser ut så här.

Anstalld: AID* NAMN ADRESS ORT TELEFON LON AVDID Avdelning: AVDID* NAMN ORT TELEFON

Det är alltså ett företag med olika avdelningar. Varje avdelning har anställda.

Det jag vill göra är att räkna ut vad medel lönen är för varje avdelning

Mina försök har sett ut något i stil med

select avg(lon), avdelning.namn from anstalld, avdelning where anstalld.avdid = avdelning.avdid;

Jag kan se varför ovanstående kod inte fungerar men jag vet inte hur jag ska kunna separera dom anstallda för varje avdelning och sedan räkna ut deras medellön.

Använder interbase som databashanterare.

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |

Permalänk
Medlem

Aldrig använt InterBase men skulle tro att detta fungerar:

SELECT AVG(lon), Avdelning.NAMN FROM Anstalld, Avdelning WHERE Anstalld.AVDID = Avdelning.AVDID GROUP BY Avdelning.AVDID

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Garret
Aldrig använt InterBase men skulle tro att detta fungerar:

SELECT AVG(lon), Avdelning.NAMN FROM Anstalld, Avdelning WHERE Anstalld.AVDID = Avdelning.AVDID GROUP BY Avdelning.AVDID

tack. fick invalid column reference men funkade när jag körde Group by avdelning.namn istället.

Visa signatur

| Ryzen 5800x | Asus prime x470 pro | Asus rtx 3080 tuf oc | Gskill 32gb 3,6ghz | aw3225qf |