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