2017-10-17 4 views
0

まず、私はSQLの初心者です。SQL:各母音の番号を文字列で別々に数える方法

State 
Karnataka 
Uttar Pradesh 
Tamilnadu 
Telangana 
Kerela 
Andhra Pradesh 

以下のように私は、私はそれぞれの状態で存在していると、結果は各母音のために分離する必要がどのように多くの母音を知りたい、私はデータを持っているテーブルにStateを柱と呼ばれています。

予想される出力:

State   Count of a Count of e Count of i Count of o Count of u 
Karnataka  4   0   0   0   0 
Uttar Pradesh 2   1   0   0   1 
+1

これは本当に宿題のようなにおい。次回はまず何かを試してみてください。 –

+0

@JuanCarlosOropeza、確かに!ありがとう – lohith

+1

雇用の代わりに学業であるという事実は、私たちの一部とは無関係です。これは難しい質問ですので、宿題の場合は、挑戦的なコースを選ぶことに賞賛します。しかし、あなたが最初に物事を試してみると、あなたはそれ以上のものを得るでしょう。 –

答えて

3

SQL下回ってみてください:

PIVOTを使用して
SELECT 
State, 
LEN(state)-LEN(REPLACE(state,'a','')) 'Count of a', 
LEN(state)-LEN(REPLACE(state,'e','')) 'Count of e', 
LEN(state)-LEN(REPLACE(state,'i','')) 'Count of i', 
LEN(state)-LEN(REPLACE(state,'o','')) 'Count of o', 
LEN(state)-LEN(REPLACE(state,'u','')) 'Count of u' 
FROM TableName 
1

CREATE TABLE #TEST ([STATE] NVARCHAR(MAX)) 

INSERT INTO #TEST VALUES ('Karnataka' ) 
INSERT INTO #TEST VALUES ('Uttar Pradesh') 
INSERT INTO #TEST VALUES ('Tamilnadu' ) 
INSERT INTO #TEST VALUES ('Telangana' ) 
INSERT INTO #TEST VALUES ('Kerela'  ) 
INSERT INTO #TEST VALUES ('Andhra Pradesh') 

SELECT * 
FROM 
(
SELECT [STATE], N, LEN([STATE]) - LEN(REPLACE([STATE], N,'')) AS VOWELCOUNT 
FROM #TEST 
CROSS JOIN (VALUES('A'),('E'),('I'),('O'),('U')) AS A(N) 
) PVT 
PIVOT (MAX(VOWELCOUNT) FOR N IN ([A],[E],[I],[O],[U])) AS D 
関連する問題