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


Sortering på nästlad SELECT-sats...

Postades av 2007-08-08 22:17:29 - Tommy Leandersson, i forum access, Tråden har 7 Kommentarer och lästs av 1532 personer

Jag sitter och försöker sätta ihop en nästlad SQL-sats i mitt ASP-applikation, som ska utnyttja databasmotorn för att hämta information med GetRows till en array. Jag skulle vilja sortera på informationen som hämtas ifrån den nästlade SELECT-satsen eftersom det är ett datum som hämtas ut... Kod:

SELECT tblTest.fld1, (SELECT TOP1 tblDatum.tblDate FROM tblDatum WHERE tblDatum.fldIndex = tblTest.fldIndex) FROM tblText ORDER BY 2

I detta fall så spelar det ingen roll om jag byter 2:an till en 1:a, den kör ORDER BY på tblTest.fld1 ändå.

Jag har provat att köra den nästlade SELECT-sasten som "...tblText.fldIndex) AS fldLastPost" och sen "ORDER BY fldLastPost", men då hittar den inte fldLastPost och det är fel i ORDER BY-uttrycket...

Detta är bara påhittade tabeller med namn, men det är en ordentlig komprimering av vad jag har satt ihop... och allt fungerar förutom att jag inte kan få till sorteringen.

Jag får ut rätt innhåll när jag skriver ut min array... men jag får den inte att sortera på den informationen. Är det någon som känner till något om detta och kan antinge tipsa på ev. lösning eller hur man bör sätta ihop några sökord för vår käre vän google? (Har provat typ med "order by nested select" m.m.)


Svara

Sv: Sortering på nästlad SELECT-sats...

Postades av 2007-08-08 22:27:51 - Niklas Jansson

ORDER BY fältnamn
ska det vara.
ORDER BY 2 betyder att du slänger på en 2:a sist på varje rad och sen sorterar på den kolumnen.

Vad du ska göra är alltså

SELECT tblTest.fld1, (SELECT TOP1 tblDatum.tblDate FROM tblDatum WHERE tblDatum.fldIndex = tblTest.fldIndex) As X FROM tblText ORDER BY X


Svara

Sv:Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 06:27:39 - Tommy Leandersson

Som jag skrev i huvudtråden... "Jag har provat att köra den nästlade SELECT-sasten som "...tblText.fldIndex) AS fldLastPost" och sen "ORDER BY fldLastPost", men då hittar den inte fldLastPost och det är fel i ORDER BY-uttrycket... "

Direkt när jag säger att den skall sortera på det "påhittade namnet" så får jag upp detta med:
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("db/dbForum.mdb")

Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][Drivrutin för ODBC Microsoft Access] För få parametrar angavs. 1 förväntades.

Och med...
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & Server.MapPath("db/dbForum.mdb")

Feltyp:
Microsoft JET Database Engine (0x80040E10)
Det har inte angetts något värde för en eller flera nödvändiga parametrar.

Tar jag bort ORDER BY så slipper jag felmeddelandet men jag får inte till sorteringen... det verkar som om det påhittade namnet inte finns förrens allt är uthämtat ifrån databasen... Jag kommer bara åt namnet när jag skriver ut mitt recordset i min ASP kod.

Gjorde en snabbkoll för att hämta ut alla datum, men bytte datumfältetsnamn med AS och det verkar som om det inte går att sortera på det nya AS-namnet... Finns det någon annan PROVIDER man kan testa eller finns det något tips på hur man kan ange sökordningen beroende på positionen i vilka fält som den skall hämta ut, typ min ORDER BY 2...?


Svara

Sv: Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 07:46:40 - Johan Djupmarker

I Access kan du inte använda alias för sortering, du får helt enkelt skriva såhär:


SELECT tblTest.fld1, (SELECT TOP1 tblDatum.tblDate FROM tblDatum WHERE tblDatum.fldIndex = tblTest.fldIndex) FROM tblText ORDER BY (SELECT TOP1 tblDatum.tblDate FROM tblDatum WHERE tblDatum.fldIndex = tblTest.fldIndex)

/Johan


Svara

Sv:Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 10:28:10 - Tommy Leandersson

Tydligen så går det inte att köra en nästlad SQL-fråga i ORDER BY heller "Syntaxfel. i frågeuttrycket", troligtvis så måste jag skriva en ny SQL-fråga som bara plockar ut datumet som är aktuellt.

Om jag hämtar data ur en databas och loopar ut innhållet så kan jag antige välja att skriva:
Response.Write RecSet("fld1") eller Response.Write RecSet(0), det finns inget sådant inbyggt i ORDER-funktinen att jag kan sätta sorteringen på columnen 1 utan att namge fältet?


Svara

Sv: Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 11:45:57 - Åsa Holmgren

Du kan joina så här:

SELECT fld1, TopDatum FROM tblTest INNER JOIN (SELECT fldIndex, Max(fldDatum) AS TopDatum FROM tblDatum GROUP BY fldIndex) AS d ON tblTest.fldIndex = d.fldIndex ORDER BY TopDatum;


Svara

Sv:Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 13:07:05 - Tommy Leandersson

...och vad har du för utbildning Åsa?... Sån vill jag oxå ha... :)

Funkade precis som jag ville... TACK!


Svara

Sv: Sortering på nästlad SELECT-sats...

Postades av 2007-08-09 13:17:29 - Åsa Holmgren

Åh, jag är nog ganska självlärd... obotlig Googlare ;-) Kul att det kunde vara till nytta!


Svara

Nyligen

  • 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
  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av

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 864
27 962
271 767
560
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