同じ名字のすべてのバンドメンバーの名前を一覧表示するにはどうすればよいですか?列内の2番目の値を見つける方法
列には、私たちはinstr
とsubstr
を使用する必要があります知っているこの
band_NAME
-------------------
Carla Thomas
Stephen E. Rice
Cynthia P. Tree
Richard Anthony Paul
Ann Frances Smith
Lorace Black
Timothy Adam Paul
のような値を持っています。私はちょうど私達が位置を決める方法を得ない。
私は、基本フォーマットは
SELECT band_NAME
FROM TABLE
where substr(band_name, ?, instr() IN
(select substr(band_name, ?, instr()-1)
from table
group by SUBSTR(band_NAME , ?, INSTR()-1)
HAVING COUNT(*) > 1);
ようになるだろう。しかし疑問符にとinstr
内部で何が起こっている知っていますか?
これについて助けていただければ幸いです!
のようなグループにそれらがどのようにこれが動作するようになっているだろうか? 'Jerry Lee Lewis'ではファーストネームは 'Jerry Lee'、姓は 'Lewis'なので、最後の空白で最初と姓を分けます。 'GabrielGarcíaMärquez'では、最初の名前は「Gabriel」で、姓は「GarcíaMárquez」です。つまり、最初の空白で分割します。また、 'Juan LuisGarcíaPerales'のような名前があり、最初と最後の空白の区別がつかない。その後、姓が最初に来る中国の名前について考える。 –
まあまあ、私はそれを分割する方法を理解していません。上記の名前の中には初期のミドルネームがあるものもありますが、それは期間の後に分割することができますが、3つの名前を持つ他の人は、どうやってやるのか分かりません。姓のマッチを見つけて表示する方法を見つけ出す必要があります – Bob
私が言っていることは、あなたがファーストネームであることと、完全なネームだけから姓であるものを引き出すことができないということです。より多くの情報が必要です。多分最初と姓の辞書。 (そして、それでもなお、「ポール」は名字と姓の両方になります)。たぶんあなたは妥協しても問題ありません。しかし、あなたがうまくいくというルールを定義するのはあなた次第です。 –