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

Postades av 2004-05-19 13:15:58 - Daniel Åsberg, i forum databaser, Tråden har 9 Kommentarer och lästs av 979 personer

Jag har 2 st tabeller

laft
-id
-cdate
-cemp
-result

laft_lu
-id
-descr


laft.result = laft_lu.id

Jag vill ha ut antalet laft_lu.descr på varje cemp, för varje timme.
Även 0 om det är så.

Så här långt har jag kommit. Problemet med denna kod är att det blir samma siffra för alla olika laft_lu.descr.


<code>
SELECT SUBSTR(cdate,12,2) AS Tiden, cemp, COUNT(result) AS resulten, descr
FROM laft, laft_lu
GROUP BY Tiden, cemp, descr
ORDER BY Tiden, cemp
</code>


Och med koden nedan så får jag inga 0:or om det är så:
<code>
SELECT SUBSTR(cdate,12,2) AS Tiden, cemp, COUNT(result) AS resulten, descr
FROM laft, laft_lu
WHERE laft.result = laft_lu.id
GROUP BY Tiden, cemp, descr
ORDER BY Tiden, cemp
</code>


Svara

Sv: sql-sats

Postades av 2004-05-19 13:51:15 - Mikael Wedham

SELECT SUBSTR(cdate,12,2) AS Tiden, cemp, COUNT(result) AS resulten, descr
FROM laft LEFT OUTER JOIN laft_lu
ON laft.result = laft_lu.id
GROUP BY Tiden, cemp, descr
ORDER BY Tiden, cemp

/micke


Svara

Sv: sql-sats

Postades av 2004-05-20 10:15:44 - Andreas Hillqvist

Du har inte berättat vilken databasmotor du använder. Är det så att du vill ha en ANSII SQL kompatibel fråga eller har du bara glömt att tala om det?


Svara

Sv: sql-sats

Postades av 2004-05-24 08:47:49 - Daniel Åsberg

Ojdå, glömde visst bort... det är en Postgre-databas iaf.

Och wedham.com´s tips fungerade inte.
Jag fick fram ett resultat, men inte som jag vill.
För t.ex. om det är som nu att det är 3 st poster i laft_lu så ska cemp komma upp 3 ggr för varje timme, med en siffra över hur många ggr.

Svårt att förklara känns det som... men förstår du kanske?



Så här blev resultatet utav wedham.com´s sql:

<code>
09 DPA 22 Inget Svar
09 DPA 7 Svar
09 DPA 12 Upptagen
09 KEO 2 Inget Svar
09 KEO 2 Upptagen
09 LTB 2 Inget Svar
09 LTB 2 Svar
10 DPA 2 Inget Svar
10 DPA 2 Upptagen
10 LTB 1 Inget Svar
14 DPA 2 Inget Svar
15 DPA 1 Inget Svar
</code>


Men jag vill att det ska vara bli så här:

<code>
09 DPA 22 Inget Svar
09 DPA 7 Svar
09 DPA 12 Upptagen
09 KEO 2 Inget Svar
09 KEO 0 Svar
09 KEO 2 Upptagen
09 LTB 2 Inget Svar
09 LTB 2 Svar
09 LTB 0 Upptagen
10 DPA 2 Inget Svar
10 DPA 0 Svar
10 DPA 2 Upptagen
10 LTB 1 Inget Svar
10 LTB 0 Svar
10 LTB 0 Upptagen
14 DPA 2 Inget Svar
14 DPA 0 Svar
14 DPA 0 Upptagen
15 DPA 1 Inget Svar
15 DPA 0 Svar
15 DPA 0 Upptagen

</code>


Svara

Sv: sql-sats

Postades av 2004-05-25 14:57:51 - Mikael Wedham

Testa att byta COUNT(result) mot COUNT(*)

/micke


Svara

Sv: sql-sats

Postades av 2004-05-25 15:58:18 - Daniel Åsberg

Blev tyvär inge bättre med det =/


Svara

Sv: sql-sats

Postades av 2004-05-25 22:58:40 - Per Karlsson

Testa det här. Det blir lite krångligare, men bör fungera. Du får lägga in alla klockslag själv...

<CODE SQL> SELECT iv.tiden, iv.cemp, count(laft.result) as resulten, iv.descr FROM ( SELECT T.Tiden, LL.descr, LL.id as llid, LA.cemp, LA.id FROM ( SELECT '00' as Tiden UNION SELECT '01' as Tiden UNION SELECT '02' as Tiden -- osv ner till... UNION SELECT '23' as Tiden ) T, laft_lu LL, laft LA ) iv LEFT OUTER JOIN laft on SUBSTR(cdate,12,2) = iv.Tiden and laft.id = iv.id and laft.result = iv.llid group by iv.tiden, iv.cemp, iv.descr order by iv.tiden, iv.cemp, iv.descr </CODE>

/PK


Svara

Sv: sql-sats

Postades av 2004-05-25 23:03:32 - Mikael Wedham

Hur ser datat i tabellerna ut?

Skriv in de 2-3 första posterna från båda tabellerna + gärna en tabellspecifikation (CREATE TABLE) så skall vi nog lösa ditt lilla bekymmer :)

(micke


Svara

Sv: sql-sats

Postades av 2004-05-25 23:03:32 - Per Karlsson

Hoppsan! Mitt senaste inlägg kan nog orsaka prestandaproblem om tabellen laft är stor. Har putsat upp sql-satsen lite:

<CODE SQL> SELECT iv.tiden, iv.cemp, count(laft.result) as resulten, iv.descr FROM ( SELECT T.Tiden, LL.descr, LL.id as llid, LA.cemp, LA.id FROM ( SELECT '00' as Tiden UNION SELECT '01' as Tiden UNION SELECT '02' as Tiden -- osv ner till... UNION SELECT '23' as Tiden ) T, laft_lu LL, (SELECT DISTINCT cemp, id FROM laft) AS LA ) iv LEFT OUTER JOIN laft on SUBSTR(cdate,12,2) = iv.Tiden and laft.id = iv.id and laft.result = iv.llid group by iv.tiden, iv.cemp, iv.descr order by iv.tiden, iv.cemp, iv.descr </CODE>


Svara

Sv: sql-sats

Postades av 2004-05-26 11:12:36 - Daniel Åsberg

Pelka´s tips fungerade perfekt! Tackar!
Fast om det finns fler alternativ så är dom välkomna, då jag inte riktigt förstår mig på Pelkas =)

Och här kommer det du sökte wedham.com:
<code>
CREATE TABLE "public"."laft"
(
"id" INTEGER NOT NULL ,
"cdate" bool,
"cemp" varchar(3),
"result" INTEGER,
PRIMARY KEY ("id")
)


CREATE TABLE "public"."laft_lu"
(
"id" int2 NOT NULL ,
"descr" varchar(50),
PRIMARY KEY ("id")
)

</code>

Och data för dom båda:
<code>
laft:
1 2004-05-26 10:59:00 DPA 1
2 2004-05-26 11:12:00 TLA 1
3 2004-05-26 11:45:00 DPA 2

laft_lu:
1 Inget
2 Upp
3 Sv
</code>


Svara

Nyligen

  • 13:18 Website builder
  • 17:03 Getmancar your go-to carsharing
  • 14:07 Games
  • 17:54 Vegastars New Zealand
  • 16:56 Verde Casino Danmark
  • 13:54 Vegastars: Top Australian Online C
  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025

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 571 444
27 965
271 786
685
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