Я пытаюсь объединить две таблицы в MySQL. Мне нужно объединиться на основе полной строки из одного поля (Таблица a: ID) и подстроки из другой таблицы (Таблица b: caseID). Макет структуры таблицы можно увидеть в нижней части этого поста. ID и caseID определены как уникальные.
Вывод, который я ищу, похож на:
|-------------|--------------|------------|
| ID | name | age |
|-------------|--------------|------------|
| 1 | Bob | 22 |
| 2 | Bill | 23 |
| 3 | Ben | 24 |
|-------------|--------------|------------|
Я знаю, как извлечь подстроку на основе разделителя:
SELECT SUBSTRING(caseID, LOCATE('-', caseID)+1, LENGTH(caseID)) AS ExtractString FROM b
но мне неясно, как объединить это с обычным оператором SQL JOIN для возврата всех объединенных записей. Я все время получаю сообщение об ошибке типа «возвращает более одной строки».
Любая помощь очень ценится.
Таблица a:
|-------------|--------------|
| ID | name |
|-------------|--------------|
| 1 | Bob |
| 2 | Bill |
| 3 | Ben |
|-------------|--------------|
Таблица b:
|-------------|--------------|
| caseID | age |
|-------------|--------------|
| 24-1 | 22 |
| 24-2 | 23 |
| 24-3 | 24 |
|-------------|--------------|