Avatar billede eksperten1 Nybegynder
08. september 2008 - 14:13 Der er 1 kommentar

udvidet SubSelect

Men uundværlig hjælp fra kjulius bruger jeg nedenstående query, til at finde frem til nogle procentsater på hvor mange enheder der afleveres til tiden i virksomheden.

Men - jeg syntes at resultatet virker lidt skævt, men da der er ca. 1/4 mill. rækker er det ikke lige noget man "hånd tæller".

Så mit spørgsmål er ret simpelt :
I dette query, der udregner tidsforskellen imellem første scanning og sidste scanning (starttimestamp, sluttimestamp), der er jeg bekymret for om den udelader scanninger der er foretaget af andre en "login = 002" - altså i subselect'en

Var det til at forstå? (altså person A scanner, så person B, så person C og til sidst person D - jeg vil gerne have tiden imellem person A -> Person D, men vil kun

SELECT unikey, login, starttimestamp, sluttimestamp, TIMEDIFF( sluttimestamp,starttimestamp) AS regtime
FROM (
  SELECT unikey, login, MIN(CONCAT.dato,' ', tid)) AS starttimestamp, MAX(CONCAT(dato, ' ', tid)) AS sluttimestamp
  FROM stat_147
  GROUP BY unikey
  HAVING SUM(CASE WHERE rutine=1 THEN 1 ELSE 0 END) > 0 AND SUM(CASE WHERE rutine=2 THEN 1 ELSE 0 END) > 0
) AS a WHERE login = '002'
Avatar billede eksperten1 Nybegynder
08. september 2008 - 14:16 #1
ups - den smuttede - skal fortsættes med

men vil gerne have linjer hvor at "login = '002'" - er den der har scannet rutine=2

puuha - det giver mig hovedpine det her query

Så jeg vil gerne finde alle de rækker hvor en given login har lavet et scan, hvor rutine=2 - ud af de rækker vil jeg gerne finde det første scan på det samme unikey (som er en stregkode)
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
Computerworld tilbyder specialiserede kurser i database-management

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