我有两个表中的2组数据,我需要加入表中
表格1
id qid choice -------------------------- 11 2020 Item 1 12 2020 Item 2 13 2020 Item 14
table_2
rid qid question --------------------------- 1001 2020 1.I love apple 1002 2020 2.I love orange 1003 2020 14.I hate lemon
输出
id rid qid choice question ------------------------------------------------- 11 1001 2020 Item 1 1.I love apple 12 1002 2020 Item 2 2.I love orange 13 1003 2020 Item 14 14.I hate lemon
表_2中“问题”列的格式必须以
1.XXXX , 2.XXXX , 14.XXXX until 20.XXXXXX
我认为在“。”之前获取数字。作为加入条件。但是,如何获得数量或其他更好的解决方案呢?
您应该更改当前表的数据结构。但是对于您当前的数据结构,您可以使用以下棘手的查询(假设的模式table_1.choice始终为Item XX):
table_1.choice
Item XX
SELECT t1.id, t2.rid, t1.qid, t1.choice, t2.question FROM Table1 t1 JOIN Table2 t2 ON RIGHT(t1.choice, LENGTH(t1.choice) - 5) = LEFT(t2.question, LOCATE('.',t2.question) - 1);
输出:
| ID | RID | QID | CHOICE | QUESTION | |----|------|------|---------|-----------------| | 11 | 1001 | 2020 | Item 1 | 1.I love apple | | 12 | 1002 | 2020 | Item 2 | 2.I love orange | | 13 | 1003 | 2020 | Item 14 | 14.I hate lemon |