2

私はテーブルを持っています:

Name Surname と Outputname ( = Name Surname )

Name と Surname には常に値が必要ですが、空の場合もあります。テーブルから姓で選択する必要がありますが、姓フィールドを使用できません。このテーブルは外部ソースから取得し、いつでも変更できるため、スクリプトでフィールド値を変更することさえできません。データベースは MySQL 4.x です

いくつかの文字で始まる Outputname の 2 番目の単語で選択できますか? 何かのようなもの

SELECT Outputname FROM USERS 
WHERE seconword(Outputname) LIKE 'A%' SORT BY seconword(Outputname) ASC
4

3 に答える 3

0

私はあなたの質問をまったく理解していませんでした。つまり、Outputname (名前と姓の 2 つの単語で構成される) にしかアクセスできず、2 番目の単語で並べ替える必要があります。

次のようなものを試してください(私にとってはうまくいきました):

SELECT 
    Outputname, 
    SUBSTRING_INDEX(Outputname, ' ', -1) as SecondWord
FROM USERS 
ORDER BY SecondWord ASC

SUBSTRING_INDEX(Outputname, ' ', -1) as SecondWordは、スペースの後に配置された最後の単語を返します。したがって、Outputname = 'Maria Callas' の場合は 'Callas' を返し、Outputname = 'Sophia Cecilia Kalos' の場合は 'Kalos' を返します。

于 2013-11-02T11:01:22.027 に答える