我想要加入两个表。问题是,数据需要一些修剪。
== Product Description
id sku price
1 674_orange 45.99
2 645_black 59.99
5 592_rubyred 69.99
== Product Attributes
id sku description
11 674 lorem ipsum long text description of 674
22 645 lorem ipsum keywords for this item
33 592 lorem ipsum colours on this item
我想在SKU上加入这些表格。但是我需要进行替换,因为我认为LIKE
或%
不够准确吗?
答案 0 :(得分:2)
使用
select *
from description d
join attributes a on a.sku = substring(sku, 1, locate('_', sku)-1)
locate('_', sku)
获取字符串中_
的位置
substring(sku, 1, locate('_', sku)+1)
从sku
中提取子字符串。子字符串将从位置1
开始,并在_
之前的位置结束。这就是使用-1
的原因。
答案 1 :(得分:1)
试试这个:
SELECT * FROM ProductDescription pd
INNER JOIN ProductAttributes pa ON SUBSTRING_INDEX(pd.sku, '_', 1) = pa.sku ;