我想加入,但我没有共同的专栏。
我唯一的关系是表 B 中的一列与表 A 中的 2 列的串联:
表A:
id | 名字 | 姓名 |
---|---|---|
1 | 乔 | 麦克克莱因 |
2 | 马克 | 约翰逊 |
表B:
完整名称 | 儿子名字 |
---|---|
乔·麦克莱因 | 迈克 |
乔·麦克莱因 | 理查德 |
马克·约翰逊 | 彼得 |
乔·麦克莱因 | 帕特里克 |
我想得到:
id | 完整名称 | 儿子名字 |
---|---|---|
1 | 乔·麦克莱因 | 迈克 |
1 | 乔·麦克莱因 | 理查德 |
2 | 马克·约翰逊 | 彼得 |
1 | 乔·麦克莱因 | 帕特里克 |
我想:
SELECT a.id, b.completeName, b.sonName FROM tableA AS a JOIN tableB AS b ON b.completeName = CONCAT(a.name, ' ', a.surename)
但是在具有大量寄存器的“真实表”中(示例中没有这个)我收到“时间到期错误”。有什么建议吗?
谢谢!
在表A中添加新的索引列(姓名+姓氏),使用查询填充该列以查找现有记录,然后使用该列与表B进行匹配。