webForumDet fria alternativet
Logga in / Bli medlem

Select med group by och wildcard

Databaser & SQL

2 svar · 222 visningar · startad av wazid

Medlem sedan maj 2001156 inlägg
Trådstart#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

Medlem 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

Medlem 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;
261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)