14. december 2011 - 23:25Der er
4 kommentarer og 1 løsning
Count fra et select
Jeg har denne her SLQ streng der blot vælger fra nogle tabeller
SELECT distinct PN_NAVN AS Brugernavn, PN_INIT AS 'Bruger ID', T_ADMINDEL.AI_ADMBET AS Afdeling, T_PERROLLE.PR_TITTEL AS 'Brugertype(Rolle)' FROM t_person, T_PERROLLE , T_PERNAVN, t_admindel where PR_PEID = PN_PEID and t_person.system_id = PN_PEID and pr_admid = t_admindel.system_id and pr_stdrolle = 1
Nu vil jeg så hjertens gerne lige tælle antallet af records ovenstående select finder, men det vil ikke som jeg vil. Har prøvet med SELECT COUNT(*) from (SELECT distinct PN_NAVN AS Brugernavn, PN_INIT AS 'Bruger ID', T_ADMINDEL.AI_ADMBET AS Afdeling, T_PERROLLE.PR_TITTEL AS 'Brugertype(Rolle)' FROM t_person, T_PERROLLE , T_PERNAVN, t_admindel where PR_PEID = PN_PEID and t_person.system_id = PN_PEID and pr_admid = t_admindel.system_id and pr_stdrolle = 1)
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Da det er en "derived table" skal du have et alias med ellers ved den ikke hvad den hedder.
SELECT COUNT(*) from (SELECT distinct PN_NAVN AS Brugernavn, PN_INIT AS 'Bruger ID', T_ADMINDEL.AI_ADMBET AS Afdeling, T_PERROLLE.PR_TITTEL AS 'Brugertype(Rolle)' FROM t_person, T_PERROLLE , T_PERNAVN, t_admindel where PR_PEID = PN_PEID and t_person.system_id = PN_PEID and pr_admid = t_admindel.system_id and pr_stdrolle = 1) as derived_table
og da jeg skal bruge output som variabel har jeg blot sat as count ind i starten, var det der forvirrede mig , 2 as ...
SELECT COUNT(*) as count from (SELECT distinct PN_NAVN AS Brugernavn, PN_INIT AS 'Bruger ID', T_ADMINDEL.AI_ADMBET AS Afdeling, T_PERROLLE.PR_TITTEL AS 'Brugertype(Rolle)' FROM t_person, T_PERROLLE , T_PERNAVN, t_admindel where PR_PEID = PN_PEID and t_person.system_id = PN_PEID and pr_admid = t_admindel.system_id and pr_stdrolle = 1) as derived_table
Hmmm hvis man lige tænker over det så er det jo fordi den i virkeligheden smider resultat ind i en virtuel tabel som vi her har kaldt derived_table (den kunne også have heddet kurt)
Så sætningen kan (for forståelsens skyld) oversættes til SELECT COUNT(*) as count from derived_table
ja, men derfor kunne godt den lige være lidt klogere og selv smide en tempNavn ind :-)
Synes godt om
Ny brugerNybegynder
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.