1

私のデータベースには曲のタイトルが記載されたテーブルがあります。いくつかの重複がありますが、わずかにずれています。たとえば、私のテーブルは次のようになります。

id  title
1   Photobooth
2   Photobooth [*]
3   Photobooth [dvd]
4   Photobooth [acoustic]
5   Song for Kelly Huckaby
6   Song for Kelly Huckaby [*]

結果が次のようになるように、これを分解しようとしています。

1   Photobooth
5   Song for Kelly Huckaby

このクエリをどのように処理する必要がありますか?[]内のすべてを取り除き、次に重複を見つけますか?

4

1 に答える 1

3
SELECT DISTINCT CASE WHEN LOCATE('[', title)-1 = -1
                      THEN TRIM(title)
                      ELSE TRIM(LEFT(title, LOCATE('[', title)-1))
                END title
FROM table1

SQLFiddleデモ

于 2012-10-28T03:46:07.550 に答える