Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Trixig fråga

Postades av 2004-11-05 13:45:25 - Åsa Holmgren, i forum access, Tråden har 8 Kommentarer och lästs av 749 personer

Jag har en tabell, tblEvents, med dessa fält:

EventID
CustomerID
EventType
EventDate

Jag behöver en fråga som väljer ut en speciell typ av händelse och alla andra händelser för aktuella kunder inom ett visst tidsintervall. En händelse kan t.ex. vara ett välkomstbrev, ett besök i vår mässmonter, ett säljbesök, utskick av en speciell broschyr osv

Vad jag är ute efter är alltså att kunna få en lista över alla kunder som har fått ett speciellt utskick från oss vid något tillfälle och alla andra händelser för dessa kunder under tre månader före och efter de har fått utskicket.

Hoppas ni förstår vad jag menar! och att det låter sig göras...
/Åsa





Svara

Sv: Trixig fråga

Postades av 2004-11-05 14:04:37 - Johan Djupmarker

SELECT * FROM tblEvents WHERE EventDate BETWEEN #2004-07-01# AND #2004-11-01# AND CustomerID IN(SELECT CustomerID FROM tblEvents WHERE EventType = 1 AND EventDate BETWEEN #2004-08-01# AND #2004-08-10#)

Alla saker som inträffat mellan 2004-07-01 och 2004-11-01 för kunder som haft EventType 1 mellan 2004-08-01 och 2004-08-10.

/Johan


Svara

Sv: Trixig fråga

Postades av 2004-11-05 14:25:29 - Åsa Holmgren

hmm,

det är bara det att EventDate för "EventType = 1" kan vara vilket datum som helst och EventDate för de andra händelserna ska vara relativt det man fick med "EventType = 1"...


Svara

Sv: Trixig fråga

Postades av 2004-11-05 14:59:45 - Ann Kapborg

Såg i ett svar du gett på inlägg att du skriver snitsig kod så därför kommer jag bara med förslag på upplägget.

Om du skriver en kod som går igenom kund för kund och skickar resultatet till en ny tabell?

Dvs:

För varje CustomerID
-Fråga efter Datum för eventID
-Ställ frågan om alla händelser inom önskat datumintervall för bara den kunden
-Lägg till resultatet i en tabell



/Ann


Svara

Sv: Trixig fråga

Postades av 2004-11-05 16:35:50 - Johan Djupmarker

Tror detta skulle kunna fungera!

SELECT tblEvents.* FROM tblEvents, (SELECT CustomerID, EventDate FROM tblEvents WHERE EventType = 1) A WHERE tblEvents.CustomerID = A.CustomerID AND tblEvents.EventDate BETWEEN DateAdd("m", -3, A.EventDate) AND DateAdd("m", 3, A.EventDate)

/Johan


Svara

Sv: Trixig fråga

Postades av 2004-11-05 18:08:40 - Ann Kapborg

Hakar på för att lära mig optimera.

Fråga 1: När A kommer in i bilden så är det = ny tabell (alt nytt recordset eller annan term)?


Ställer också frågan som eventuellt relevant:

Fråga 2: Saknas inte EventType i resultatet? Förmodar att det är av intresse att veta även i vilken form och inte bara att det varit kundkontakt?

/Ann


Svara

Sv: Trixig fråga

Postades av 2004-11-06 15:56:11 - Johan Djupmarker

<b>Fråga 1: När A kommer in i bilden så är det = ny tabell (alt nytt recordset eller annan term)? </b>

Eftersom jag läser in samma tabell 2 gånger behöver jag ge den andra ett "nytt namn", A i detta fallet. Här bygger jag frågan på tabellen tblEvent samt resultatet av (SELECT CustomerID, EventDate FROM tblEvents WHERE EventType = 1). I detta fallet hade det inte behövts då man kan göra urvalet efteråt, men jag valde att göra så för att det blev tydligare.

<b>Fråga 2: Saknas inte EventType i resultatet? Förmodar att det är av intresse att veta även i vilken form och inte bara att det varit kundkontakt?</b>

Nej, tblEvent.* returnerar alla kolumner i tabellen tblEvent.


Kan lika gära göra om fråga utan subqueryn, borde vara effektivare (har ingen större koll på effektivitet, så detta är bara en gissning).

SELECT A.* FROM tblEvents A, tblEvents B WHERE A.CustomerID = B.CustomerID AND A.EventDate BETWEEN DateAdd("m", -3, B.EventDate) AND DateAdd("m", 3, B.EventDate) AND B.EventType = 1

/Johan


Svara

Sv: Trixig fråga

Postades av 2004-11-06 19:08:10 - Ann Kapborg

Tack för svaret. Ska fundera och prova lite så jag lär mig bättre att göra saker på det enklaste sättet.

/Ann


Svara

Sv: Trixig fråga

Postades av 2004-11-08 09:59:17 - Åsa Holmgren

Tack så jättemycket Johan, nu är jag på spåret igen ;)
/Åsa


Svara

Nyligen

  • 19:42 Online Casinos for Haitian Players
  • 19:38 Rekommendera något intressant
  • 19:13 Международная перевозка грузов
  • 00:01 DL Van Tuning | Exclusive Body Kit
  • 12:08 Indian casino
  • 04:14 Vad finns det för kratomalternativ
  • 14:16 Indian online casino
  • 14:15 Indian online casino

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 878
27 965
271 771
628
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies