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).