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


Null problem vid sql-fråga

Postades av 2004-05-15 19:37:12 - Patrik Wårdmark, i forum databaser, Tråden har 5 Kommentarer och lästs av 9907 personer

Denna sträng går fint att köra:

Select distinct t1.fornamn,t1.efternamn,(Select sum(t3.pris*t3.antal) from orderlista t3,kundorder t4 where t3.orderid=t4.id AND t4.kundid=t1.id) as totaltpris from kunder t1

Problemet är att totaltpris tyvärr kan bli null vid vissa fall och jag vill inte ha med dem. När jag då lägger till "where (totaltpris is not null)" till sql-frågan ovan får jag felet: För få parametrar angavs. 1 förväntades

Min skalle står still, vad har jag missat?


Svara

Sv: Null problem vid sql-fråga

Postades av 2004-05-15 20:39:48 - Göran Andersson

Använd gruppering för att hämta ut det istället, lite snällare mot databasen:

Select t1.fornamn, t1.efternamn, sum(t3.pris*t3.antal) as totaltpris
from kunder t1
inner join kundorder t4 on t4.kundid=t1.id
inner join orderlista t3 on t3.orderid=t4.id
group by t1.fornamn, t1.efternamn

Ifall nullvärdena beror på att det inte finns några matchande poster i t3 eller t4, så blir du automatiskt av med dem.

Ifall nullvärdena beror på att du har null i fälten, så sorterar du bort dem genom att lägga till kontrollen med "having":

Select t1.fornamn, t1.efternamn, sum(t3.pris*t3.antal) as totaltpris
from kunder t1
inner join kundorder t4 on t4.kundid=t1.id
inner join orderlista t3 on t3.orderid=t4.id
group by t1.fornamn, t1.efternamn
having not totalpris is null


Svara

Sv: Null problem vid sql-fråga

Postades av 2004-05-16 00:40:22 - Patrik Wårdmark

Prövade din sats men får då felet:

Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 't4.kundid=t1.id inner join orderlista t3 on t3.orderid=t4.id'.

Är själv inte så van vid inner join tyvärr...


Svara

Sv: Null problem vid sql-fråga

Postades av 2004-05-16 01:39:34 - Patrik Wårdmark

Efter lite "tester" med paranteser fick jag satsen att fungera. Så här:

Select t1.fornamn, t1.efternamn, sum(t3.pris*t3.antal) as totaltpris from (kunder t1 inner join kundorder t4 on (t4.kundid=t1.id)) inner join orderlista t3 on (t3.orderid=t4.id) group by t1.fornamn, t1.efternamn

Nu ett nytt problem :-)
Kom på att jag även vill ha dem i viss ordning och lade dit "order by totaltpris desc" sist i satsen. Då får jag detta besked:
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.

Vad menas? Order by behöver väl ingen mer parameter än den jag skrivit redan...?


Svara

Sv: Null problem vid sql-fråga

Postades av 2004-05-16 02:19:57 - Göran Andersson

Felmeddelandet betyder att den inte känner igen namnet "totaltpris". Det är ett alias, och det går inte att använda som namn i frågan.

Däremot kan du sortera på fältets index i fältlistan:

order by 3 desc


Svara

Sv: Null problem vid sql-fråga

Postades av 2004-05-16 02:22:48 - Patrik Wårdmark

Tack!
Man lär sig nytt varje dag. :-)


Svara

Nyligen

  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK

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 973
27 965
271 783
3 370
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