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


Matematisk term i Access

Postades av 2004-08-10 02:34:08 - Peter Lingman, i forum access, Tråden har 2 Kommentarer och lästs av 1117 personer

Jag försöker göra en SQL fråga i access enl följande tanke. går det?

Om kund status är 1 (session) och artikelgrupp är minde än 6 så hämta Pris och dividera priset med 0,75.
Annars
Om kund status är 2 (session) och artikelgrupp är minde än 6 så hämta Pris och dividera priset med 0,85.
Annars
Om kund status är 1 (session) och artikelgrupp är MER än 6 så hämta Pris och dividera priset med 0,45.
Annars
Om kund status är 2 (session) och artikelgrupp är MER än 6 så hämta Pris och dividera priset med 0,35.

Kundstatus är en sessionsvariabel
artikelgrupp är långt heltal
Pris är Dubbelt tal

Kan någon vänlig själ hjälpa mig att strukturera denna SQL fråga

Mvh
Peter


Svara

Sv: Matematisk term i Access

Postades av 2004-08-10 09:44:09 - Håkan Berg

Jag har förutsatt att du har kundregister, artikelregister och orderregister med orderrader, men för enkelhets skull uteslutit orderregistret och använt orderraderna direkt. Så här kan en SQL-sats i MSAccess se ut:

SELECT Kunder.kundstatus, Kunder.namn, Artiklar.artikelgrupp, Artiklar.text, Artiklar.pris, [pris]*(([artikelgrupp]>6)*([kundstatus]=1)*0.75+([artikelgrupp]<6)*([kundstatus]=2)*0.85+([artikelgrupp]<6)*([kundstatus]=1)*0.45+([artikelgrupp]>6)*([kundstatus]=2)*0.35) AS rabattpris
FROM Artiklar INNER JOIN (Kunder INNER JOIN Orderrader ON Kunder.kundid = Orderrader.kundid) ON Artiklar.artikelid = Orderrader.artikelid;

Uttryck som ([artikelgrupp]>6) blir ger ett boolskt resultat, 1 eller 0, och kan därför multipliceras med din faktor. Eftersom alla fallen utesluter varandra kommer uttrycket ([artikelgrupp]>6)*([kundstatus]=1)*0.75+([artikelgrupp]<6)*([kundstatus]=2)*0.85+([artikelgrupp]<6)*([kundstatus]=1)*0.45+([artikelgrupp]>6)*([kundstatus]=2)*0.35 att innehålla högst en parentes som ger värdet ett (du har uteslutit artikelgrupp = 6, så i så fall blir alla false). Summan av parenteser multiplicerade (jag antog att du ville multiplicera, inte dividera) med faktorer (0.75, o.85 etc) kommer därför att bli 0 eller en av faktorerna, vilket multipliceras med priset för att ge ett rabattpris.

Denna SQL-sats kan även konstrueras i frågeguiden. Växla till designläge så får du se hur det ser ut.


Svara

Sv: Matematisk term i Access

Postades av 2004-08-10 11:33:35 - Andreas Hillqvist

Det är nog enklare att lägga till en tabell och göra en join.

Tabell: Faktor
Fält: FaktorStatus
Fält: FaktorMinGroup
Fält: FaktorMaxGroup
Fält: FaktorValue

-------------------------------------------------------
FaktorStatus, FaktorMinGroup, FaktorMaxGroup
-------------------------------------------------------
1, Null, 6
2, Null, 6
1, 6, Null
2, 6, Null


SELECT TabellNamn.*, Faktorer.FaktorValue
FROM TabellNamn LEFT JOIN
Faktor ON (TabellNamn.Status = Faktor.FaktorStatus AND ((Faktor.FaktorMinGroup Is Null OR Faktor.FaktorMinGroup < TabellNamn.artikelgrupp) AND (Faktor.FaktorMaxGroup Is Null OR Faktor.FaktorMaxGroup > TabellNamn.artikelgrupp)))


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

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 770
27 960
271 761
408
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