webForumDet fria alternativet

SQL-frågan ska se ut _hur?

3 svar · 359 visningar · startad av trexter

trexterMedlem sedan mars 20021 889 inlägg
#1

Fick den här vackra SQL-koden från emission i .NET-forumet, men det fungerar inte riktigt som jag vill. :)

select s.StatusID, s.StatusText, a.ArendeStatus_Datum, a.ArendeStatus_Status from Status s
LEFT JOIN ArendeStatus a ON s.StatusID=a.ArendeStatus_Status where s.StatusAnvID = 1 AND a.ArendeStatus_Arende = 21

I tabellen Status har jag värdena:
StatusID-----StatusText-----StatusAnvID
1------------Inkommen--------1
2------------Utgången--------1
7------------Någotannat------1

I tabellen ArendeStatus har jag bland annat:
ArendeStatus_Arende--ArendeStatus_Status---ArendeStatus_Datum---ArendeStatusAnvID
21--------------------1-----------------------<ett datum>----------1
21---------------------2----------------------<ett datum>----------1

Det finns en koppling mellan: StatusID <-----> ArendeStatus_Status

Tanken är att jag ska köra SQL-frågan, loopa igenom datan och skriva ut ngt i stil med (visar hur jag vill att data ska returneras):

Inkommen 24/8 2005
Utgången 30/10 2005
Någotannat

Alltså; jag vill få fram alla "StatusText" - även om de inte finns "representerade" i ArendeStatus.

Nu returneras endast (samt några andra i det här avseendet ovidkommande kolumner):
Inkommen 24/8 2005
Utgången 30/10 2005

:)

trexterMedlem sedan mars 20021 889 inlägg
#2

@nders? LarsG? wF? :e :)

@ndersMedlem sedan juni 200032 969 inlägg
#3

Hehe, nu tar vi det lilla lugna. ;)

Prova att flytta villkoret på ärendestatustabellen från where-satsen till join-instruktionen:

select s.StatusID, s.StatusText, a.ArendeStatus_Datum, a.ArendeStatus_Status 
from Status s 
LEFT JOIN ArendeStatus a ON s.StatusID=a.ArendeStatus_Status 
[b]AND a.ArendeStatus_Arende = 21[/b] 
where s.StatusAnvID = 1
trexterMedlem sedan mars 20021 889 inlägg
#4

Det här var nästan lite kusligt snabbt och bra. :birp

127 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)