2017-03-28 14 views
0

これはおそらくどこかで答えられたかもしれませんが、私はまだ混乱しています。 A7T7という名前のビューを作成する必要があります。このビューでは、連結された名前に3文字以上の文字(例:John Olson、Richard Hooton、Tina Trout)を持つ生徒の姓と名を連結して表示します。列見出しはStudentであり、行は連結名の長さで長さから長さにソートする必要があります。SQLは連結された文字列から特定の文字を選択します

この制限のためにWHEREステートメントを作成する方法はわかりません。

+0

どのRDBMSを使用していますか? –

+0

私はOracle SQLを使用しています –

答えて

1

あなたはLIKEクエリを使用することができます - たとえば(SQL Serverのテーブル変数を使用して):

CREATE TABLE #students (firstname varchar(20), lastname varchar(20)); 

INSERT ALL 
    INTO #students VALUES ('John','Olson') 
    INTO #students VALUES ('Richard','Hooton') 
    INTO #students VALUES ('Tina','Trout') 
SELECT 1 FROM dual;  

SELECT * 
FROM #students s 
WHERE CONCAT(s.firstname, s.lastname) LIKE '%o%o%o%'; 

DROP TABLE #students; 

大体「、姓と名の連結はoが含まれている学生からすべての行を選択するには換算さ3回 "。

+0

あなたの 'WHERE'節は、私が思うどんなRDBMSでも正しく動作します(Access :-)は数えません)。 –

+0

@GiorgosAltanis - これはOracleでは(OPの最後の質問を見てデータベースである)ではありません。 'Concat()'はもっと似ています。 – GurV

+0

ありがとう!助けてくれた人に感謝する –

関連する問題