Avatar billede Slettet bruger
03. august 2011 - 18:52 Der er 3 kommentarer og
1 løsning

Udfordring: Tal rækker i SQL-tabel MEN med kritierier!

Hej eksperter.

Jeg har en lille udfordring til jer :)

Jeg har tit siddet og fået hjælp, og givet hjælp, herinde og her er faktisk relativt mange dygtige programmørere som plejer, at være dygtige til at knuse problemstillinger :)
Så jeg er nysgerrig omkring, hvem der faktisk er den bedste.

Hvem kan lave den bedste kode til, at tælle rækker i to forskellige tabeller, men med lidt kriterier!

Der skal tælles hvor mange rækker der er i 2 tabeller, men den skal kun tælle hvor mange der er i den ene ud fra om der findes et matchende id i den anden.
Og for, at gøre det endnu sjovere, skal der lægges yderligere 2 til talsværdien ved hver værdi i den første tabel.

Okay, lad os tage et eksempel:

Outputtet skal være en variabel som tæller sammen hvor mange rækker der er i alt.

Tabel 1:
Den skal tælle alle rækker i tabellen kampagner hvor id = 1 eller id = 2 eller id = 3
(og altså ikke id = 4 eller id = 5, osv)

Tabel 2:
Så skal den tælle alle rækker i tabellen rapporter hvor kampagner = id
(hvor id er en variabel fra tabel 1)

For, at gøre det endnu sjovere. Så skal den tjekke om der i tabel 2 findes nogle rækker med kampagne = id ud fra den talte række i tabel 1. Hvis der ingen rækker i tabel 2 findes, skal rækken i tabel 1 ikke tælles med. Men hvis den gør, så skal den tælle for 3 i tællevariablen :)


Koden skal være så optimeret og let som overhovedet muligt, da den bliver eksekveret hvert femte sekund. Så det holder ikke, hvis serveren er lang tid om at udføre hele funktionen.

Held og lykke :)

(Jeg har selv løst problemet, dog med undtagelsen af, at den ikke kan tager højde for om der findes rækker i tabel 2 med matchende id når den tæller i tabel 1).
Avatar billede michael_stim Ekspert
03. august 2011 - 18:58 #1
Arne_v, nu har jeg besvaret dit spørgsmål ;)
Avatar billede Slettet bruger
04. august 2011 - 12:11 #2
Det er nu mere et postulat fremfor et svar ;)
Avatar billede michael_stim Ekspert
04. august 2011 - 12:28 #3
#3
Så sandt, så sandt. Men lad den som har en anden antagelse stå frem, eller tig for evigt ;o)
Avatar billede Slettet bruger
28. august 2011 - 20:06 #4
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester