SELECT DISTINCT tb_Bauteile.ID,
tb_Bauteile.Name,
tb_Bauteile.Blatt_nr,
FehlerCodes_akt_Liste.Fehlerpfad,
FehlerCodes_akt_Liste.Pfad_Bezeichnung,
FehlerCodes_akt_Liste.Steuergerät,
FehlerCodes_akt_Liste.Kommentar
FROM ((tb_Pinnummern INNER JOIN tb_Bauteile ON
tb_Pinnummern.Bauteil = tb_Bauteile.ID) INNER JOIN tb_Fahrzeug ON
tb_Pinnummern.SG = tb_Fahrzeug.Motor_SG)
INNER JOIN FehlerCodes_akt_Liste
ON tb_Bauteile.CDT = FehlerCodes_akt_Liste.CDT
WHERE (((tb_Bauteile.Blatt_nr) LIKE "5*") AND
((tb_Fahrzeug.ID) = forms ! frm_fahrzeug ! id))
ORDER BY FehlerCodes_akt_Liste.Fehlerpfad;
非常感谢您的意见
答案 0 :(得分:1)
重新格式化,并删除所有不必要的parantheses,它实际上很容易阅读(请注意,当我写这个答案时,问题中的查询是未格式化的文本!)
SELECT DISTINCT
tb_Bauteile.ID, tb_Bauteile.Name, tb_Bauteile.Blatt_nr,
FehlerCodes_akt_Liste.Fehlerpfad, FehlerCodes_akt_Liste.Pfad_Bezeichnung,
FehlerCodes_akt_Liste.Steuergerät, FehlerCodes_akt_Liste.Kommentar
FROM
tb_Pinnummern INNER JOIN
tb_Bauteile
ON tb_Pinnummern.Bauteil = tb_Bauteile.ID INNER JOIN
tb_Fahrzeug
ON tb_Pinnummern.SG = tb_Fahrzeug.Motor_SG INNER JOIN
FehlerCodes_akt_Liste
ON tb_Bauteile.CDT = FehlerCodes_akt_Liste.CDT
WHERE tb_Bauteile.Blatt_nr Like "5*"
AND tb_Fahrzeug.ID = [forms]![frm_fahrzeug]![id]
ORDER BY FehlerCodes_akt_Liste.Fehlerpfad;
您也可以对表名进行别名,以使这些更简单,例如
SELECT DISTINCT b.ID, b.Name
FROM tb_Bauteile AS b
WHERE b.Blatt_nr LIKE "5*"
在Join和Where子句中使用的字段上添加索引通常可以提高性能。请注意,tb_Bauteile.Blatt_nr
上的索引可以提高性能,因为LIKE子句只有一个尾随通配符。但是,如果您的LIKE子句为LIKE '*5'
,那么性能将无法提高。