我是sql的初学者,我正面临这个问题。
我必须在两个表(Masse和LX03)之间建立连接。
我的加入是在两个名称不同的列之间进行的:LX03.Emplacement和Masse.IDMasse
我从选择中排除了一些值,以缩短代码。
SELECT DISTINCT
Masse.IDMasse AS IDMasse,
Masse.Capacité_stock_sol AS Capacité_stock_sol,
...
LX03.Emplacement AS Emplacement,
LX03.Article AS Article,
...
FROM
LX03 INNER JOIN Masse ON LX03.Emplacement = Masse.IDMasse
我希望查询完全匹配这两列,但不区分大小写。例如 : m14 = M14 m1-4 = m1-4
但是当我运行查询时,它会返回两个值不完全匹配的结果,例如: LX03.Emplacement = M1-4和Masse.IDMasse = M14
我最初尝试排除所有包含标点符号的值,但我也需要这些值。
我想知道是否有一种方法可以要求值严格相似,但不区分大小写吗?
我在互联网上找不到太多帮助,但是也许由于我是初学者,所以我没有使用正确的术语?如果是这样,请带我去一些解释它的网站-我想从我的错误中学习!
感谢您的帮助
编辑以进行澄清: 目前,这是我的查询匹配的两个值: M14 = M1-4 但是我不希望带有“-”的值与没有它的值匹配。
答案 0 :(得分:0)
假设您只需要忽略value列中的-
,则可以忽略大小写,然后在join子句中使用它们-
SELECT DISTINCT
Masse.IDMasse AS IDMasse,
Masse.Capacité_stock_sol AS Capacité_stock_sol,
...
LX03.Emplacement AS Emplacement,
LX03.Article AS Article,
...
FROM LX03
INNER JOIN Masse ON REPLCAE(UPPER(LX03.Emplacement), '-', '') = REPLCAE(UPPER(Masse.IDMasse), '-', '')
答案 1 :(得分:-1)
关于此:
但是当我运行查询时,它会返回两个值不完全匹配的结果,例如:LX03.Emplacement = M1-4和Masse.IDMasse = M14 最初,我尝试排除所有包含标点符号的值,但我也需要这些值。
您可以尝试比较长度(加入后)