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 nöt

Postades av 2007-05-11 09:50:09 - Magnus Karlsson, i forum databaser, Tråden har 9 Kommentarer och lästs av 1200 personer



Jag har en tabell som ser ut som följande :

ANSNR TODO
--------------------------------------------------
1 GÅ
2 STANNA
1 STANNA
1 GÅ
3 GÅ

Jag vill ställa en fråga som räknar ut hur många GÅ och STANNA ansnr 1 har .

Min fråga nedan levererar ett svar med tre rader. Hur skall man skriva för att det bara skall bli ett svar med en rad?

<code>
SELECT
(select count(TODO) from tabell where TODO='GÅ' and ansnr = 1;) AS _GA,
(select count(TODO) from tabell where TODO='STANNA' and ansnr = 1;) AS _STANNA
FROM tabell
WHERE ansnr=1;
</code>


Svara

Sv: SQL nöt

Postades av 2007-05-11 10:19:49 - Martin Adrian

Nåt i stil med

TRANSFORM Count(TODO)
SELECT ANSNR
FROM Tabell
GROUP BY ANSNR
PIVOT TODO IN ("GÅ", "STANNA")

(Har inte testat men sök efter crosstab query eller pivot query så hittar du nog något)


Svara

Sv:SQL nöt

Postades av 2007-05-11 11:16:10 - Magnus Karlsson

tackar!!

men om jag nu vill räkna ut en ny kolumn av de svar jag får genom formeln GÅ - STANNA.... är det möjligt?


Svara

Sv: SQL nöt

Postades av 2007-05-11 11:34:42 - Thomas Vanhaniemi

Följande kanske kan fungera?
<code>
SELECT SUM(TODO='GÅ') AS _GA, SUM(TODO='STANNA') AS _STANNA, SUM(TODO='GÅ') - SUM(TODO='STANNA') AS _DIFF FROM tabell GROUP BY ansnr WHERE ansnr = 1
</code>


Svara

Sv:SQL nöt

Postades av 2007-05-11 11:48:36 - Magnus Karlsson

Det fungerar men jag får negativt antal. Hur löser man det ?


Svara

Sv: SQL nöt

Postades av 2007-05-11 12:39:37 - Thomas Vanhaniemi

Om du använder en databas som har stöd för funktionen ABS är det lätt fixat.
<code>
SELECT SUM(TODO='GÅ') AS _GA, SUM(TODO='STANNA') AS _STANNA, ABS(SUM(TODO='GÅ') - SUM(TODO='STANNA')) AS _DIFF FROM tabell GROUP BY ansnr WHERE ansnr = 1
</code>


Svara

Sv:SQL nöt

Postades av 2007-05-14 17:17:21 - Magnus Karlsson

det där med "transform" pch "pivot query" verkar nice! Har en SQL på 3 veckor bok där det inte är nämnt något om detta. Är det special och var kan man få mer info om detta?


Svara

Sv: SQL nöt

Postades av 2007-05-14 18:23:23 - Thomas Vanhaniemi

Jag tror, ska inte svära på det, att det inte hör till vanlig SQL utan det är beroende på vilken databas du använder om det finns eller inte. I regel ska man försöka undvika funktioner som inte stöds av andra databaser (speciellt om man räknar med att någon gång behöva porta till andra databaser).


Svara

Sv:SQL nöt

Postades av 2007-05-15 14:48:24 - Per Hultqvist

Transform och Pivot är mig veterligen ny funktionalitet i Microsoft SQL Server 2005 (fanns inte i 2000), sedan om dessa ingår i en standard eller ej vet jag inte.


Svara

Sv:SQL nöt

Postades av 2007-05-15 15:15:34 - Martin Adrian

Transform och Pivot finns i Access och SQLServer. Vet att det finns i Oracle också men syntaxen är inte riktigt lika. Vet inte hur det är med MySQL.


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 883
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