我有以下两个表
顺序
ID| DETAILS | AMOUNT
-------------------------------
0 |#Battery#Client1234 | 90USD
客户端
ID | NAME
--------------
1234 | JohnDoe
我如何加入这两个表,因为Order表中的外键与其他一些信息聚合在一起?
答案 0 :(得分:2)
将您的专栏DETAILS
分成两个OrderDerails
和CLientID
,并将ClientID与第二个表联系起来。
答案 1 :(得分:1)
http://sqlfiddle.com/#!9/a8c9f6/1
SELECT o.*, c.*
FROM `order` o
LEFT JOIN client c
ON o.details LIKE CONCAT('%#Client',c.id)
答案 2 :(得分:0)
尝试:
SELECT *
FROM Orders oo
JOIN Client cc
ON oo.details LIKE CONCAT('%', cc.id, '%');
答案 3 :(得分:0)
您可以使用MySQL SUBSTRING_INDEX() function从订单详细信息中提取客户端ID,并使用它来与客户端表进行连接。这是查询:
SELECT *
FROM `order` o
LEFT JOIN client c
ON c.id=SUBSTRING_INDEX(o.details,'#Client',-1);
<强> SQL FIDDLE DEMO 强>