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


Generera idrottslags tabell med korrekt sortering

Postades av 2005-08-09 11:29:39 - Hobil Haidari, i forum mysq, Tråden har 2 Kommentarer och lästs av 676 personer

Tja,

Har en vanlig tabell för idrottslag, med struktren
Namn
Antal spelade matcher
Gjorda mål
Insläppta mål
Differens mål (Gjorda mål - Insläppta mål)
Poäng

Mitt problem är att jag vill att hämtningen ska sortera på Poäng ASC, och sen på Differens mål DESC, problemet är dock att när man har negativa värden (< 0), blir sorteringen den omvända, alltså felaktig...

Är det någon som direkt har en lösning på ett dylikt problem?

<code>
SELECT teamid
, name
, played_games
, scores -- Målskillnad
, TRIM(LEFT(scores, POSITION('-' IN scores) - 1)) -- Gjorda mål
, TRIM(RIGHT(scores, LENGTH(scores) - POSITION('-' IN scores))) -- Insläppta mål
, points -- Poäng
, ((TRIM(LEFT(scores, POSITION('-' IN scores) - 1))) - (TRIM(RIGHT(scores, LENGTH(scores) - POSITION('-' IN scores))))) -- Differens målskillnad
FROM
teams
WHERE
is_active = 1
ORDER BY Poäng ASC, Differens målskillnad DESC, name
</code>

PS. SQL-koden är redigerad för ändamålet så kör den inte direkt i en db ;-)

Mitt problem är att den när det blir negativa värden tolkar -5 som större än -1 när man använde DESC, vilket inte är riktigt vad jag är ute efter...

EDIT:
Det var tydligen inget fel, däremot verkar inte mysql förstå att man vill fortsätta sortera på värden efter min kolumnangivelse (i siffra, DIFFERENS MÅLSKILLNAD, vilken är 7 för exemplet)... tar jag bort ORDER BY fältet name så går det alltså bra...!? Någon som kan förklara varför det blir så?


Svara

Sv: Generera idrottslags tabell med korrekt sortering

Postades av 2005-08-10 08:47:00 - Andreas Hillqvist

Du sorterar på en sträng. Text gämförs tecken för tecken från vänster.

I en databas bör värden vara atomära, ej delbara. Då du lagrar delbar information i scores. Skapa istället två kolumner av datatypen av säd för tal.

Om du vill göra en mer "korrekt" datastruktur, föreslår jag följande datastruktur:
<info>
Tabell: Teams
Fält: TeamId int (autoinc.)
Fält: TeamName varchar(50)
...

Tabell: Games
Fält: GameId int (autoinc.)
Fält: GameDate datetime
...

Tabell: GameTeams
Fält: GameTeamId int (autoinc.)
Fält: GameTeamTeam int -> Teams.TeamId
Fält: GameTeamScore int
Fält: GameTeamPoints int
Fält: GameTeamHome boolean
...
</info>


Lite mer komplext att ställa frågor mot.


Svara

Sv:Generera idrottslags tabell med korrekt sortering

Postades av 2005-08-10 14:25:06 - Hobil Haidari

Tja Andreas,

Dig kan man lita på när det kommer till SQL frågor, du är lysande på det...

Jo jag vet att min struktur lämnar övrigt att önska, men eftersom kunden inte direkt blev exalterad över en bättre, snyggar och mer utvecklingsbar lösning orkade jag inte förklara bättre utan körde på enklast möjliga sätt, kräver givetvis att användarna håller sig till den exakt strukturen annars smäller det hehe... men det är inte mitt probs ;-)

Skämt åsido, förmodligen gör jag om det i en bättre struktur i framtiden, men för dagen ser det ut så här, och jag fick det att fungera faktiskt, funkar klockrent än så länge, har dock inte testat det speciellt mycket ska kanske tilläggas... så är det någon som inte har mycket för sig och gärna testar satsen får ni gärna återkomma.


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 614
27 953
271 709
317
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