webForumDet fria alternativet

Select med group by och wildcard

2 svar · 222 visningar · startad av wazid

wazidMedlem sedan maj 2001156 inlägg
#1

Hejsan

Undrar om det går att få ut ett resultat där jag utgår ifrån nedanstående select

SELECT OCUSMA.OKSMCD, SUM(OSBSTD.UCSAAM) AS summan, CUSMA.OKCUCL 
FROM OSBSTD 
INNER JOIN OCUSMA ON OSBSTD.UCCUNO = OCUSMA.OKCUNO WHERE (OSBSTD.UCIVDT BETWEEN '20050101' AND '20050112') AND OCUSMA.OKCUCL IN (450, 463, 569) 
GROUP BY OCUSMA.OKSMCD, OCUSMA.OKCUCL 
ORDER BY OCUSMA.OKSMCD, OCUSMA.OKCUCL;

Jag skulle vilja gruppera efter första tecknet i OCUSMA.OKCUCL så att jag fick ut alla som börjar på 4** i ett Recordset och alla på 5** i ett eget.

MvH

David

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select OCUSMA.OKSMCD, 
  SUM(OSBSTD.UCSAAM) AS summan, 
   L1 from ( 
SELECT OCUSMA.OKSMCD, OSBSTD.UCSAAM, 
substring(CUSMA.OKCUCL from 1 for 1) as L1
FROM OSBSTD 
INNER JOIN OCUSMA ON OSBSTD.UCCUNO = OCUSMA.OKCUNO WHERE (OSBSTD.UCIVDT BETWEEN '20050101' AND '20050112') AND OCUSMA.OKCUCL IN (450, 463, 569) ) dt
GROUP BY OCUSMA.OKSMCD, L1 
ORDER BY OCUSMA.OKSMCD, L1

Flyttas från ASP

wazidMedlem sedan maj 2001156 inlägg
#3

1000 tack för svaret LarsG!!!

Efter lite pulande så fick jag det så som jag ville.

SELECT OKSMCD, SUM(UCSAAM) AS summan, L1 
FROM (SELECT OCUSMA.OKSMCD, OSBSTD.UCSAAM, substring(OCUSMA.OKCUCL, 1, 1) AS L1 
FROM OSBSTD 
INNER JOIN OCUSMA ON OSBSTD.UCCUNO = OCUSMA.OKCUNO
WHERE (OSBSTD.UCIVDT BETWEEN '20041001' AND '20041031'))
 DERIVEDTBL 
GROUP BY OKSMCD, L1 
ORDER BY OKSMCD, L1;
143 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
140 ms — hämta tråd, inlägg och bilagor (db)