【发布时间】:2018-03-14 06:21:20
【问题描述】:
我有两张桌子
1:带有主键的 tbl_member_registration (mem_id)
2:tbl_phone 带外键(parent_code)
我想左连接这两个表,但是 tbl_phone parent_code 列有不同的值以前缀 mem_ 开头,如何连接这两个表?
【问题讨论】:
-
为什么你的值在你的第二个表中有一个前缀?看来你应该先解决这个问题。您也有值具有
cmp_*的行。我猜这是一些多用途表,其中“parent_code”无法链接到不同的表?这是一个糟糕的设计。让每个实体类型都有自己的表。 -
要应用连接,两个表的主键和外键类型值相似。您需要从 tbl_phone 的 parent_code 列中删除 mem_ 以使用 tbl_member_registration 应用左联接。
-
你需要加入
SUBSTRING_INDEX看看这个 - stackoverflow.com/questions/7481361/… -
@MittulAtTechnoBrave - 不,最好在应用程序增长之前尽快解决糟糕的设计,并且你的应用程序中到处都是散落的骇人听闻的解决方案。我最近不得不处理一个包含这种确切类型表的大型数据库,而且一团糟。
-
下次不用图片谢谢。相反,请参阅meta.stackoverflow.com/questions/333952/…