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 回答