Mysql 有没有办法进行严格联接?

Mysql 有没有办法进行严格联接?,mysql,sql,windev,Mysql,Sql,Windev,我是sql的初学者,我面临着这个问题 我必须在两个表(Masse和LX03)之间进行连接 我的连接是在两个名称不同的列之间进行的:LX03.emposition和Masse.IDMasse 我从select中排除了一些值,以缩短代码 选择DISTINCT 质量,作为质量, 作为电容器库存溶胶的质量电容器库存溶胶, ... LX03.作为侵位的侵位, LX03.一条接一条, ... 从…起 LX03上的LX03内部连接质量。安放=质量。IDMasse 我希望我的查询与这两列完全匹配,但不区分大小

我是sql的初学者,我面临着这个问题

我必须在两个表(Masse和LX03)之间进行连接

我的连接是在两个名称不同的列之间进行的:LX03.emposition和Masse.IDMasse

我从select中排除了一些值,以缩短代码

选择DISTINCT
质量,作为质量,
作为电容器库存溶胶的质量电容器库存溶胶,
...
LX03.作为侵位的侵位,
LX03.一条接一条,
...
从…起
LX03上的LX03内部连接质量。安放=质量。IDMasse
我希望我的查询与这两列完全匹配,但不区分大小写。例如: m14=m14 m1-4=m1-4

但当我运行查询时,它会返回两个值不完全匹配的结果,如: LX03.侵位=M1-4,质量=M14

我最初试图排除所有包含标点符号的值,但我也需要这些值

我想知道是否有一种方法可以要求严格相似的值,但不区分大小写

我在网上找不到太多的帮助,但也许因为我是初学者,我没有使用正确的术语?如果是这样的话,请让我参考一些解释它的网站-我想从我的错误中学习

谢谢你的帮助

编辑以澄清: 目前,这是我的查询匹配的两个值: M14=M1-4 但我不希望带“-”的值与不带“-”的值匹配

关于这一点:

当我运行查询时,它返回两个值不完全匹配的结果,如:LX03.emposition=M1-4和Masse.IDMasse=M14 我最初试图排除所有包含标点符号的值,但我也需要这些值。


您可以尝试比较长度(连接后)

假定您只需要忽略值列中的
-
,您可以忽略大小写,然后在连接子句中使用它们-

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), '-', '')

您的问题与“我希望我的查询与这两列完全匹配”和“我想知道是否有一种方法可以要求严格相似的值”相矛盾,您想要哪一个。你在使用AND ide吗?mysql中的一个相等运算符就是,除了大小写敏感度之外,这是一个可以设置的选项,如果你不想设置大小写敏感度,你可以在查询中使用大写或小写,使双方大小写相同。不是真正的标点符号不会有什么区别(就mysql而言,它只是一个字符串元素)。如果是,那么windev中必须有一个设置(我无法想象是这样的)你能将示例数据作为文本添加到问题中吗?对于大小写不敏感的问题:使用或
LOWER()
为了使双方的情况相同。我在问题中添加了一个windev标签,希望熟悉该产品的人能够提供帮助。但如果这是您可以使用的工具,我希望内部的人会是一个更快的选择。我添加了以下条款:WHERE CHAR_LENGTH(LX03.emposition)=CHAR CHAR LENGTH(Masse.IDMasse)但是我的查询没有返回任何结果。也许我使用字符长度不好?