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 x antal av bilmärke A x antal av B?

Postades av 2007-06-13 14:07:56 - Peter Milered, i forum databaser, Tråden har 9 Kommentarer och lästs av 2855 personer

Hej

Har en databas Ms sql 2000 med olika artiklar som är kopplade till ett bilmärke.

Har en sida som listar:

SELECT top 30 * from ARTIKLAR WHERE BILMARKE=A OR BILMARKE=B OR BILMARKE=C ORDER BY DATUM DESC, ID ASC

Vad jag skulle vilja ha hjälp med är en sqlfråga som listar t ex de 10 första med bilmarke A, sen kommer ytterligare 10 med bilmarke B, sen 10 med bilmarke C

men ändå sorterat med datum och id

Går detta att få fram i sql-frågan?

Tack på förhand


Svara

Sv: SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 14:16:34 - Thomas Vanhaniemi

Kolla om detta kan fungera
<code>
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=A ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=B ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=C ORDER BY DATUM DESC, ID ASC)
ORDER BY DATUM DESC, ID ASC
</code>
Eventuellt måste du istället för * ange vilka fält du ska ha med.


Svara

Sv: SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 14:18:21 - Niklas Jansson

Det enklaste måste väl vara:

(SELECT TOP 10 FROM Artiklar WHERE Bilmarke = "A" ORDER BY Date)
UNION ALL
(SELECT TOP 10 FROM Artiklar WHERE Bilmarke = "B" ORDER BY Date)
UNION ALL
(SELECT TOP 10 FROM Artiklar WHERE Bilmarke = "C" ORDER BY Date)

Edit: 2 minuter sen =)


Svara

Sv:SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 19:25:35 - Peter Milered

Fungerar kanon utan order by, får: Incorrect syntax near the keyword 'ORDER'
som det är nu så listar den helt tvärtom äldsta datum sist


Svara

Sv: SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 19:57:23 - Thomas Vanhaniemi

Testa med
<code>
SELECT * FROM (
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=A ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=B ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=C ORDER BY DATUM DESC, ID ASC)
) AS bilar
ORDER BY DATUM DESC, ID
</code>


Svara

Sv:SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 20:22:02 - Peter Milered

Hmm, får detta: ORDER BY items must appear in the select list if the statement contains a UNION operator.

Tar jag bort order by i båda selectsatserna:

(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=B tar bort dessa --> ORDER BY DATUM DESC, ID ASC)

då listas alla artiklar men fel datumordning ... kanske detta inte går?


Svara

Sv: SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 20:25:26 - Thomas Vanhaniemi

Vet inte om det kan ha med saken att göra, men testa också med
<code>
SELECT * FROM (
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=A ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=B ORDER BY DATUM DESC, ID ASC)
UNION ALL
(SELECT TOP 10 * FROM ARTIKLAR WHERE BILMARKE=C ORDER BY DATUM DESC, ID ASC)
) AS bilar
ORDER BY bilar.DATUM DESC, bilar.ID
</code>


Svara

Sv: SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 20:28:40 - Thomas Vanhaniemi

Hur var det, ville du ha 10 bilar av a först sorterat med datum och id, sedan bilar av b sorterat på samma sätt och sist 10 bilar av c?

Ta i så fall bort den sista order by.


Svara

Sv:SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 21:06:57 - Peter Milered

testat detta också ... fortfarande de äldsta datumen först


Svara

Sv:SQL-Fråga x antal av bilmärke A x antal av B?

Postades av 2007-06-13 21:17:40 - Peter Milered

Nu tror jag det funkar. Gjorde så här:



sSql2 = sSql2 & " SELECT top 20 DATUM,ID,RUBRIK,INGRESS FROM ( "
sSql2 = sSql2 & " (SELECT DATUM,ID,RUBRIK,INGRESS FROM ARTIKLAR WHERE BILMARKE='a' ) "
sSql2 = sSql2 & " UNION ALL "
sSql2 = sSql2 & " (SELECT DATUM,ID,RUBRIK,INGRESS FROM ARTIKLAR WHERE BILMARKE='b') "
sSql2 = sSql2 & ") as bilar "
sSql2 = sSql2 & " ORDER BY bilar.Datum desc, bilar.ID asc"


TACK alla för hjälpen!


Svara

Nyligen

  • 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
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

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 573
27 958
271 741
5 860
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