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


SQL-fråga ignorerar kolumn i SORT BY-satsen

Postades av 2008-09-17 17:27:24 - Anders Thornell, i forum vb.net, Tråden har 4 Kommentarer och lästs av 973 personer

Jag håller på med ett VB .Net-projekt med en MS Access-databas i grunden.

I databasen finns bland annat en tabell med namnet ARTIKEL med bland annat attributen ArtikelID, Namn osv. Sedan finns det ytterligare en tabell, som heter ANTAL. Där finns attributen ArtikelID (som en främmande nyckel från tabellen Artikel), Datum, Typ osv.

Relationen mellan dessa båda tabeller är som så att en artikel kan finnas flera gånger i tabellen ANTAL. Ett Datum kan förekomma flera gånger, men bara en gång per ArtikelID och Typ. Fältet Typ kan vara ett av fem definierade värden. En artikel behöver inte finnas i tabellen ANTAL för ett visst Datum eller Typ.

I VB-projektet har jag en SQL-fråga, som hämtar värden från bland annat tabellerna ARTIKEL och ANTAL. Nu är det som så att just i den här frågan är bara vissa poster från tabellen ANTAL relevanta, sådana där fältet Typ är 1. Detta har jag löst genom att spara en fråga i Access-databasen - qryANTAL - som frågan i projektet använder som en tabell.

FROM-satsen i SQL-frågan ser ut som följande: "FROM ARTIKEL LEFT JOIN qryANTAL ON ARTIKEL.ArtikelID = qryANTAL.ArtikelID". Det gör att alla artiklar kommer med, även om de inte skulle finnas i tabellen ANTAL. De värdena blir då Null.

Inga problem så långt, men problemen kommer när jag vill använda fältet qryANTAL.Datum (som ju kunde vara Null om artikeln inte fanns för den aktuella Typen i tabellen ANTAL) för att sortera frågan. Då ignorerar VB-projektet den kolumnen i sorteringssatsen och hoppar istället till nästa kolumn som den ska sortera efter.

När jag kör frågan direkt i Access-databasen fungerar sorteringen precis som den ska, utan att någon kolumn ignoreras.

Hur kan jag lösa detta?

Bör poängteras att exemplena ovan är kraftigt beskurna, och till exempel frågan som FROM-satsen är hämtad ifrån hämtar värden från fem tabeller.


Svara

Sv: SQL-fråga ignorerar kolumn i SORT BY-satsen

Postades av 2008-09-18 08:19:21 - Jan Bulér

Om du bara vill ha med poster från ARTIKEL där det finns någon relaterad post i ANTAL och för en viss typ kan du skriva så här:
<code>
SELECT ARTIKEL.Namn, ANTAL.Datum, ANTAL.Typ, ANTAL.Antal
FROM ARTIKEL INNER JOIN ANTAL ON ARTIKEL.AtrikelId = ANTAL.AtrikelId
WHERE ANTAL.Typ=1;
</code>



[edit]

Missade det där med sorteringen, min SQL-sats ovan gör ju bara att du slipper NULL-värdena, men å andra sidan är det ju inga problem att då lägga til en sortering


Svara

Sv: SQL-fråga ignorerar kolumn i SORT BY-satsen

Postades av 2008-09-18 09:41:50 - Johan Djupmarker

Har inte testat själv, men gissar att detta kan fixa problemet.

...ORDER BY IIF(qryANTAL.Datum IS NULL, #1900-01-01#, qryANTAL.Datum)

Eller om du vill att NULL-värdena ska komma i "andra änden" så tar du ett datum långt in i framtiden.

/Johan


Svara

Sv: SQL-fråga ignorerar kolumn i SORT BY-satsen

Postades av 2008-10-18 14:16:10 - Anders Thornell

SQL-frågan hoppade aldrig över en kolumn i SORT BY-satsen, men däremot returnerade frågan som lagrades i databasen bara poster med värdet Null - trots att den inte skulle göra det!

Varför det blev så vet jag inte, och jag lade inte heller ner någon störra ansträngning på att lösa det. Istället byggde jag om databasen så att det ändå fungerar - dock inte som jag vill att det ska göra.


Svara

Nyligen

  • 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
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 726
27 958
271 751
515
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