/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
MSSQL7: CASE og view
Fra : Jesper Stocholm


Dato : 20-03-02 19:46

Jeg har følgende SQL, som jeg gerne vil putte ind i et view:

SELECT
   pr,status,category,
   CASE WHEN phase = 10 THEN 1 END AS 'Field1',
   CASE WHEN phase = 20 THEN 1 END AS 'Field2',
   CASE WHEN phase = 30 OR phase = 40 OR phase = 60 THEN 1 END AS 'Field3',
   CASE WHEN phase = 50 THEN 1 END AS 'Field4',
   CASE WHEN phase = 70 THEN 1 END AS 'Field5',
   CASE WHEN phase = 0 THEN 1 END AS 'Field6'
FROM
   Problems

Men når jeg prøver, så kommer den med en advarsel om, at CASE ikke er
understøttet. Den lader mig dog fint gemme mit view - og som jeg lige
umiddelbart kan se, så virker SQL som den skal i mit view.

Men: kan jeg lave dette view på en anden måde - evt med join imellem et
par tabeller ? Jeg har mulighed for at lave de lookup-tabeller jeg har
lyst til - bla. fx

TableLookup:
| phase | Field |
-----------------
10 Field1
20 Field2
30 Field3
40 Field3
50 Field4
60 Field3
70 Field5
0 Field6

Det skulle gerne ende med data som:

|pr|status|category|phase|Field1|Field2|Field3|Field4|Field5|Field6|
--------------------------------------------------------------------
1 10 10 70 <NULL> <NULL> <NULL> <NULL> 1 <NULL>
2 45 10 40 <NULL> <NULL> 1 <NULL> <NULL> <NULL>
3 10 0 10 1 <NULL> <NULL> <NULL> <NULL> <NULL>
4 0 30 10 1 <NULL> <NULL> <NULL> <NULL> <NULL>
5 55 60 70 <NULL> <NULL> <NULL> <NULL> 1 <NULL>
6 30 70 0 <NULL> <NULL> <NULL> <NULL> <NULL> 1
7 30 30 20 <NULL> 1 <NULL> <NULL> <NULL> <NULL>
8 10 0 20 <NULL> 1 <NULL> <NULL> <NULL> <NULL>

Jeg kan ikke overskue, hvordan jeg skal lave dette join ... måske fordi
det i dette eksempel ikke er muligt ? Det er jo sådan set en
CROSS-TAB query jeg har behov for ... og mig bekendt er det ikke muligt
at lave dette med JOINS.

pft,
--
Jesper Stocholm
http://stocholm.dk


 
 
Peter Lykkegaard (21-03-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-03-02 07:55


"Jesper Stocholm" <spam200201@stocholm.dk> wrote in message
news:Xns91D7C91DC15E6spamstocholmdk@153.80.109.11...
>
> Men når jeg prøver, så kommer den med en advarsel om, at CASE ikke er
> understøttet.

Jeg gætter på at du laver dit view via Enterprise Manager?
Brug Query Analyzer i stedet med Create View etc...

<myOpinion>
På den måde er det også en trilliard gange nemmere at teste det skrammel man
laver
</myOpinion>

mvh/Peter Lykkegaard



Jesper Stocholm (21-03-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 21-03-02 09:33

Peter Lykkegaard wrote in news:Qifm8.9$dR4.429@news.get2net.dk:

>
> "Jesper Stocholm" <spam200201@stocholm.dk> wrote in message
> news:Xns91D7C91DC15E6spamstocholmdk@153.80.109.11...
>>
>> Men når jeg prøver, så kommer den med en advarsel om, at CASE ikke er
>> understøttet.
>
> Jeg gætter på at du laver dit view via Enterprise Manager?
> Brug Query Analyzer i stedet med Create View etc...
>

hvis du tænker på den der Access-create-query lignende ting i EnterPrise
Mgr, så har du delvist ret. Jeg har selve lavet selve view-SQL i Query-
Analyzer og derefter c/p'et SQL-strengen over i view/New View via E.Mgr.
Jeg vidste faktisk ikke, at man kunne lave et view via Q.A.

> <myOpinion>
> På den måde er det også en trilliard gange nemmere at teste det
> skrammel man laver
> </myOpinion>

Det var dælme en ordentlig del meget nemmere ... men du har jo ret :)

--
Jesper Stocholm
http://stocholm.dk (online again soon)
Exercise you right to free speach - use encryption to secure your
communication

Jens Gyldenkærne Cla~ (21-03-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 21-03-02 10:26

Jesper Stocholm <spam200201@stocholm.dk> skrev:

> Jeg vidste faktisk ikke, at man kunne lave et view via Q.A.

Bortset fra tabeller og index er QA efter min mening at foretrække
til alle opgaver vedr. oprettelser og ændringer af
databaseobjekter. Jeg kender kun til version 2000 - her er
mulighederne for at scripte et vilkårligt objekt (ved at
højreklikke på det) ret geniale. Derudover ligger der jo en pæn
samling templates til oprettelse af alt mellem himmel og jord.

--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)

Peter Lykkegaard (21-03-2002)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-03-02 10:51


"Jens Gyldenkærne Clausen" <jc@dmf.dk> wrote in message
news:Xns91D86A30B24A8jcdmfdk@130.225.247.90...
> Jesper Stocholm <spam200201@stocholm.dk> skrev:
>
> > Jeg vidste faktisk ikke, at man kunne lave et view via Q.A.
>
> Bortset fra tabeller og index er QA efter min mening at foretrække
> til alle opgaver vedr. oprettelser og ændringer af
> databaseobjekter. Jeg kender kun til version 2000 - her er
> mulighederne for at scripte et vilkårligt objekt (ved at
> højreklikke på det) ret geniale. Derudover ligger der jo en pæn
> samling templates til oprettelse af alt mellem himmel og jord.
>
Man lærer syntaksen at kende efterhånden i 7'eren

Faktisk finder jeg de mange muligheder i 2K's QA lidt "besværlige"
Men det er nok bare mig der er gammeldags - og du har helt ret i din
betragtning

mvh/Peter Lykkegaard



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste