当两个表具有相同的机器编号并且两个表中的条目具有相同的编号时,我试图获得结果。
这是我尝试过的:
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/