Gå til innhold

Anbefalte innlegg

Jeg har to tabeller.

Tabellnavn: poeng

poeng_id 	ansatt_id 	ant 	snitt 	wrap 	
1 				1 		2 	  5 	   7 	
2 				4 		3 	  4 	   5 	
3 				4 		1 	  2 	   3 	
4 				2 		1 	  1 	   8

 

Tabellnavn: ansatte

ansatt_id	   ansatt_navn
1				  per
2				  pål
3				  knut
4				  arne

 

Jeg trenger en spørring som henter ut navn i ansatte-tabellen og jeg trenger en totalscore for ant+snitt+wrap.

 

Slik at den lister sortert i rekkefølge høyest til lavest.

1. arne 17

2. per 14

3. pål 10

4. knut 0

 

Legg merke til at arne har to oppføringer i poeng-tabellen og det er totalen av alle jeg vil ha som vist over.

 

Setter veldig stor pris på om noen kan hjelpe meg med en slik spørring da jeg har prøvd alt for lenge uten suksess.

 

Mvh

Frode

Lenke til kommentar
Videoannonse
Annonse
Setter veldig stor pris på om noen kan hjelpe meg med en slik spørring da jeg har prøvd alt for lenge uten suksess.

 

Jeg kunne selvfølgelig gitt deg svaret, men først er jeg interessert i å se hva du har prøvd selv.

 

Nå er dette bare en liten sak for å forenkle en oppgave på jobben og ikke noe stor dokumentert prosjekt, så jeg har ikke noe kodehistorikk til å gi deg de nøyaktige kombinasjoene jeg har prøvd, men har prøvd med left join, inner join i diverse varianeter. Joining har jeg aldri hatt taket på, og har normalt holdt meg til noen varianter som fungerer i de fleste tilfellene, men her kom jeg ikke videre da jeg må summere for å få lage rekkefølgen. Alterntivet jeg har vurdert er å lage en egen scoretabell og en cronjobb som regner ut. Da klarer jeg det nok, men jeg tror det skal være mulig å få det til med en spørring.

Lenke til kommentar
Prøv denne

 

select a.ansatt_id, a.ansatt_navn coalesce(sum(coalesce(p.ant,0)+coalesce(p.snitt,0),coalesce(p.wrap,0)),0) as sum
from ansatte a
left join poeng p on a.ansatt_id=p.ansatt_id
group by a.ansatt_id, a.ansatt_navn
order by 3 desc

 

- Takk for hjelpen. Ikke bare fikk jeg løst problemet, men jeg fikk en aha-opplevelse i forhold til joining, som gjør at jeg nå fikk en helt annen forståelse :) Supert.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...