但没有成功,以下是我要转换为一个的两个问题:
Q 1
SELECT c.corpus_initial
FROM
(SELECT SUBSTRING_INDEX(corpus, '_', 1) AS corpus_initial
FROM corpus_info WHERE corpus
IN
(SELECT corpus FROM corpus_alignments)) c GROUP BY c.corpus_initial
Q2
SELECT c.title_initial
FROM
(SELECT SUBSTRING_INDEX(title, ' (', 1) AS title_initial
FROM corpus_info WHERE corpus
IN
(SELECT corpus FROM corpus_alignments)) c GROUP BY c.title_initial
更新
一些数据:表 corpus_info 有很多字段,但两个重要字段是语料库和标题,首先我将结果与表 corpus_alignments ,所以如果数据在后面的表格中,那么我会取出结果的最后一部分并给它们留下精力....
table corpus_info
| corpus | title |
_______________________________________________
| btdeucat_de | BancTrad Deutch-Catalan (de) |
_______________________________________________
| btdeucat_ca | BancTrad Deutch-Catalan (ca) |
_______________________________________________
| btengspa_en | BancTrad English-Spanish (en) |
_______________________________________________
| btengspa_sp | BancTrad English-Spanish (sp) |
_______________________________________________
所以从列语料库我得到:btdeucat和btengspa没有_xx而且没有重复 从列标题我得到:BancTrad Deutch-Catalan和BancTrad英语 - 西班牙语没有(xx)而且没有重复
答案 0 :(得分:0)
您可以先将2个特殊字符替换为其他特殊字符,然后根据该字符选择数据,如果您的表格中没有表格中的第3个字符。像这样的东西 -
SELECT c.corpus_initial
FROM (SELECT SUBSTRING_INDEX(REPLACE(REPLACE(corpus,'_','@'),'(','@'), '_', 1) AS corpus_initial
FROM corpus_info
WHERE corpus IN (SELECT corpus
FROM corpus_alignments)
) c
GROUP BY c.corpus_initial
希望这有帮助。