比较来自不同表的记录与略有不同的数据

时间:2015-06-01 09:52:00

标签: sql compare

我有两张桌子。每张表都有产品信息和价格。我希望能够得到显示产品名称和价格的结果。 但是,每个表中的产品名称略有不同。 e.g。

表1

ACICLOVIR 200MG TABs           1              25
ACICLOVIR 200MG TABs           1              25
ACICLOVIR 400MG TABs           2              56
Aciclovir 5% Cream  2gm        2.30           na

表2

LIKE

我尝试了while((span = span.previousElementSibling) != null ) { spanSiblings++; } ,但我并没有真正得到我需要的结果。

2 个答案:

答案 0 :(得分:0)

  

尽可能使用 trim 删除空格。这会对你有所帮助   使列值相似。

     

例如 - 800 mg和800MG ..使用装饰你可以得到同样的结果   值然后在查询中使用它们

答案 1 :(得分:0)

在这种情况下(在SQL Server中),我建议你使用它:

REPLACE(a.Name, ' ', '') LIKE REPLACE(REPLACE(b.Name, ' ' ,''), 'TABs', 'TAB%s')
OR 
REPLACE(b.Name, ' ' ,'') LIKE REPLACE(REPLACE(a.Name, ' ', ''), 'CREAM', '%CREAM%')

我可以简单地告诉您,当您想要忽略' '删除它时,当您有更改的内容时将其从比较中删除。如果MG正在更改,您也可以在比较中将其删除,我会使用REPLACE()删除此忽略文字。