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