mysql - 当匹配的数据在表中时,Join 返回 NULL

标签 mysql sql join mariadb

当两个表具有相同的机器编号并且两个表中的条目具有相同的编号时,我试图获得结果。
这是我尝试过的:

SELECT fehler.*,
  'maschine.Maschinen-Typ',
  maschine.Auftragsnummer,
  maschine.Kunde,
  maschine.Liefertermin_Soll 
FROM fehler 
JOIN maschine 
  ON ltrim(rtrim('maschine.Maschinen-Nr')) = ltrim(rtrim(fehler.Maschinen_Nr))

在这两种情况下,我加入的字段都是 varchar。我试过没有修剪但仍然返回空
我正在使用 MariaDB(如果这很重要的话)。

最佳答案

ON ltrim(rtrim('maschine.Maschinen-Nr')) = ltrim(rtrim(fehler.Maschinen_Nr)) 似乎错了...

fehler.Maschinen_Nr 真的是字符串 'maschine.Maschinen-Nr' 吗?

SELECT fehler.*, `maschine.Maschinen-Typ`, maschine.Auftragsnummer, maschine.Kunde, maschine.Liefertermin_Soll 
FROM fehler 
JOIN maschine 
ON ltrim(rtrim(`maschine.Maschinen-Nr`)) = ltrim(rtrim(`fehler.Maschinen_Nr`))

最后一行将字符串与数字进行比较。应该这样做。 此外,使用反引号引用列名。

关于mysql - 当匹配的数据在表中时,Join 返回 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51962494/

相关文章:

php - 您应该将用户登录详细信息存储在与您的网站相同的数据库中吗?

php - 非法变量名称/编号

MySQL 加入不适用于子查询

mysql - 尝试优化通过投票事件列出选民的查询

mysql - 特定 MySQL 查询 : Combining Two MYSQL Select Statements with OR

mysql 中的 Java jdbc SQLException

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - 基本存储过程返回错误

SQL查询以查找ID不在另一个表中的记录

mysql - 在 mysql 上组合 4 个 SELECT 查询